From be26fd54cb5bbb71ee5e889efd1e5757f140d4e2 Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Wed, 6 Feb 2019 22:59:32 +0100 Subject: [PATCH] add reverse containment links, relax multiplicity, remove genmodel annotation --- .../ctool16/CreateNS_dependsOn_DependsOn.gif | Bin 0 -> 223 bytes .../icons/full/obj16/DependsOn.gif | Bin 0 -> 129 bytes .../plugin.properties | 49 + ...ovider.java => DependsOnItemProvider.java} | 51 +- .../nsd/provider/DocItemProvider.java | 4 - .../provider/DocumentRootItemProvider.java | 5 - .../iec61850/nsd/provider/NSItemProvider.java | 4 +- .../NsdItemProviderAdapterFactory.java | 40 +- .../ServiceTypeRealizationItemProvider.java | 268 -- .../model/nsd.aird | 3198 ++++++++--------- .../model/nsd.ecore | 1399 +++---- .../model/nsd.genmodel | 63 +- .../iec61850/nsd/ACSIServicesKind.java | 3 - .../riseclipse/iec61850/nsd/Abbreviation.java | 98 +- .../iec61850/nsd/Abbreviations.java | 92 +- .../iec61850/nsd/AbstractLNClass.java | 65 +- .../riseclipse/iec61850/nsd/AnyLNClass.java | 67 +- .../iec61850/nsd/ApplicableServiceNS.java | 71 +- .../iec61850/nsd/ApplicableServices.java | 93 +- .../iec61850/nsd/AppliesToType.java | 67 +- .../riseclipse/iec61850/nsd/BasicType.java | 98 +- .../riseclipse/iec61850/nsd/BasicTypes.java | 60 +- .../edf/riseclipse/iec61850/nsd/CBKind.java | 3 - .../edf/riseclipse/iec61850/nsd/CDC.java | 192 +- .../edf/riseclipse/iec61850/nsd/CDCs.java | 63 +- .../edf/riseclipse/iec61850/nsd/Changes.java | 163 +- .../iec61850/nsd/ConstructedAttribute.java | 121 +- .../iec61850/nsd/ConstructedAttributes.java | 63 +- .../iec61850/nsd/CopyrightNotice.java | 101 +- .../riseclipse/iec61850/nsd/Copyrighted.java | 38 +- .../iec61850/nsd/DataAttribute.java | 374 +- .../riseclipse/iec61850/nsd/DataObject.java | 274 +- .../iec61850/nsd/DataSetMemberOf.java | 38 +- .../nsd/DefinedAttributeTypeKind.java | 3 - .../{DependsOnType.java => DependsOn.java} | 113 +- .../edf/riseclipse/iec61850/nsd/Doc.java | 65 +- .../riseclipse/iec61850/nsd/DocumentRoot.java | 131 +- .../iec61850/nsd/DocumentedClass.java | 43 +- .../riseclipse/iec61850/nsd/Enumeration.java | 125 +- .../riseclipse/iec61850/nsd/Enumerations.java | 63 +- .../iec61850/nsd/FunctionalConstraint.java | 162 +- .../iec61850/nsd/FunctionalConstraints.java | 92 +- .../edf/riseclipse/iec61850/nsd/LNClass.java | 71 +- .../riseclipse/iec61850/nsd/LNClasses.java | 93 +- .../edf/riseclipse/iec61850/nsd/License.java | 68 +- .../riseclipse/iec61850/nsd/LicenseKind.java | 3 - .../edf/riseclipse/iec61850/nsd/Literal.java | 67 +- .../edf/riseclipse/iec61850/nsd/NS.java | 487 ++- .../nsd/NSDObjectWithVersionAndRelease.java | 2 +- .../edf/riseclipse/iec61850/nsd/NSDoc.java | 170 +- .../edf/riseclipse/iec61850/nsd/Notice.java | 33 +- .../riseclipse/iec61850/nsd/NsdFactory.java | 15 +- .../riseclipse/iec61850/nsd/NsdPackage.java | 1725 +++++++-- .../iec61850/nsd/PresenceCondition.java | 164 +- .../iec61850/nsd/PresenceConditions.java | 92 +- .../edf/riseclipse/iec61850/nsd/PubStage.java | 3 - .../riseclipse/iec61850/nsd/ServiceCDC.java | 127 +- .../riseclipse/iec61850/nsd/ServiceCDCs.java | 63 +- .../nsd/ServiceConstructedAttribute.java | 36 +- .../nsd/ServiceConstructedAttributes.java | 63 +- .../iec61850/nsd/ServiceDataAttribute.java | 238 +- .../riseclipse/iec61850/nsd/ServiceNS.java | 379 +- .../iec61850/nsd/ServiceNsUsage.java | 101 +- .../iec61850/nsd/ServiceParameter.java | 197 +- .../riseclipse/iec61850/nsd/ServiceType.java | 31 +- .../iec61850/nsd/ServiceTypeRealization.java | 288 -- .../iec61850/nsd/ServiceTypeRealizations.java | 63 +- .../iec61850/nsd/SubDataAttribute.java | 342 +- .../iec61850/nsd/SubDataObject.java | 278 +- .../riseclipse/iec61850/nsd/TitledClass.java | 36 +- .../nsd/UndefinedAttributeTypeKind.java | 3 - .../iec61850/nsd/impl/AbbreviationImpl.java | 200 +- .../iec61850/nsd/impl/AbbreviationsImpl.java | 187 +- .../nsd/impl/AbstractLNClassImpl.java | 151 +- .../iec61850/nsd/impl/AnyLNClassImpl.java | 96 +- .../nsd/impl/ApplicableServiceNSImpl.java | 95 +- .../nsd/impl/ApplicableServicesImpl.java | 162 +- .../iec61850/nsd/impl/AppliesToTypeImpl.java | 153 +- .../iec61850/nsd/impl/BasicTypeImpl.java | 200 +- .../iec61850/nsd/impl/BasicTypesImpl.java | 124 +- .../riseclipse/iec61850/nsd/impl/CDCImpl.java | 340 +- .../iec61850/nsd/impl/CDCsImpl.java | 121 +- .../iec61850/nsd/impl/ChangesImpl.java | 307 +- .../nsd/impl/ConstructedAttributeImpl.java | 246 +- .../nsd/impl/ConstructedAttributesImpl.java | 125 +- .../nsd/impl/CopyrightNoticeImpl.java | 262 +- .../iec61850/nsd/impl/CopyrightedImpl.java | 100 +- .../iec61850/nsd/impl/DataAttributeImpl.java | 593 ++- .../iec61850/nsd/impl/DataObjectImpl.java | 454 ++- .../nsd/impl/DataSetMemberOfImpl.java | 105 + ...endsOnTypeImpl.java => DependsOnImpl.java} | 200 +- .../riseclipse/iec61850/nsd/impl/DocImpl.java | 134 +- .../iec61850/nsd/impl/DocumentRootImpl.java | 161 +- .../nsd/impl/DocumentedClassImpl.java | 47 +- .../iec61850/nsd/impl/EnumerationImpl.java | 220 +- .../iec61850/nsd/impl/EnumerationsImpl.java | 124 +- .../nsd/impl/FunctionalConstraintImpl.java | 327 +- .../nsd/impl/FunctionalConstraintsImpl.java | 190 +- .../iec61850/nsd/impl/LNClassImpl.java | 150 +- .../iec61850/nsd/impl/LNClassesImpl.java | 154 +- .../iec61850/nsd/impl/LicenseImpl.java | 137 +- .../iec61850/nsd/impl/LiteralImpl.java | 151 +- .../iec61850/nsd/impl/NSDocImpl.java | 237 +- .../riseclipse/iec61850/nsd/impl/NSImpl.java | 1126 +++++- .../iec61850/nsd/impl/NoticeImpl.java | 90 + .../iec61850/nsd/impl/NsdFactoryImpl.java | 23 +- .../iec61850/nsd/impl/NsdPackageImpl.java | 1401 +++++--- .../nsd/impl/PresenceConditionImpl.java | 295 +- .../nsd/impl/PresenceConditionsImpl.java | 188 +- .../iec61850/nsd/impl/ServiceCDCImpl.java | 222 +- .../iec61850/nsd/impl/ServiceCDCsImpl.java | 125 +- .../impl/ServiceConstructedAttributeImpl.java | 110 + .../ServiceConstructedAttributesImpl.java | 130 +- .../nsd/impl/ServiceDataAttributeImpl.java | 403 ++- .../iec61850/nsd/impl/ServiceNSImpl.java | 840 ++++- .../iec61850/nsd/impl/ServiceNsUsageImpl.java | 175 +- .../nsd/impl/ServiceParameterImpl.java | 342 +- .../iec61850/nsd/impl/ServiceTypeImpl.java | 105 + .../nsd/impl/ServiceTypeRealizationImpl.java | 602 ---- .../nsd/impl/ServiceTypeRealizationsImpl.java | 128 +- .../nsd/impl/SubDataAttributeImpl.java | 553 ++- .../iec61850/nsd/impl/SubDataObjectImpl.java | 453 ++- .../iec61850/nsd/impl/TitledClassImpl.java | 47 +- .../iec61850/nsd/util/NsdAdapterFactory.java | 29 +- .../iec61850/nsd/util/NsdResourceSetImpl.java | 134 + .../iec61850/nsd/util/NsdSwitch.java | 35 +- .../iec61850/nsd/util/NsdValidator.java | 20 +- 127 files changed, 20504 insertions(+), 6585 deletions(-) create mode 100644 fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateNS_dependsOn_DependsOn.gif create mode 100644 fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DependsOn.gif rename fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/{DependsOnTypeItemProvider.java => DependsOnItemProvider.java} (78%) delete mode 100644 fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeRealizationItemProvider.java rename fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/{DependsOnType.java => DependsOn.java} (59%) delete mode 100644 fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealization.java rename fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/{DependsOnTypeImpl.java => DependsOnImpl.java} (60%) delete mode 100644 fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationImpl.java create mode 100644 fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateNS_dependsOn_DependsOn.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/ctool16/CreateNS_dependsOn_DependsOn.gif new file mode 100644 index 0000000000000000000000000000000000000000..f655cb586fba0d881cf1ce5c60e8be5e7e4d60a0 GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqVFga7}JpC51k|Gs@g zLjzoVrg7S?>1w;Ct8Ja6ysk@rX_M5vO0k(G!vFrh|M&O(-_Pg&em?)_`QqPqn;Bq0 z@h1x-h^+%6Kz1^)#waNCr9|4PG0Z%Bc*=#Xllq(cCY5*^e>Um4mOV*ROub(!Iny~% zWA^eB>>_<yb55OfvtrOuyYKB{ArRCs`$fWsMJL;t7ACmK-)O11ovU^FWqLkCPEAv4 LV^g-OB7-#mV}@Zw literal 0 HcmV?d00001 diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DependsOn.gif b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/icons/full/obj16/DependsOn.gif new file mode 100644 index 0000000000000000000000000000000000000000..30f0c48da8d4450f7e94a696c4de0a7cc41aa728 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14Gatn4Gawp2M!!)XlP*g&%nU&|G<F*|Nnzo|3U0IbLKQO zG#m>KR{Y7r$iTqKpaaqgGJ}Cd&)}rz>b(}PzkE~Se^}_c-IVoKN`lvdg<oy-K2B4+ XYF6H}Qj=eIIb)~Wk%>aWj11NQ$?`A? literal 0 HcmV?d00001 diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties index eb90164..0def810 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties @@ -387,3 +387,52 @@ _UI_UndefinedAttributeTypeKind_undefined_literal = undefined _UI_NSDObjectWithVersionAndRelease_type = NSD Object With Version And Release _UI_NSDObjectWithVersionAndRelease_release_feature = Release _UI_NSDObjectWithVersionAndRelease_version_feature = Version +_UI_DependsOn_type = Depends On +_UI_AppliesToType_serviceNsUsage_feature = Service Ns Usage +_UI_DependsOn_id_feature = Id +_UI_DependsOn_publicationStage_feature = Publication Stage +_UI_DependsOn_revision_feature = Revision +_UI_DependsOn_nS_feature = NS +_UI_ServiceType_applicableServices_feature = Applicable Services +_UI_Abbreviation_abbreviations_feature = Abbreviations +_UI_Abbreviations_nS_feature = NS +_UI_Abbreviations_serviceNS_feature = Service NS +_UI_AbstractLNClass_lNClasses_feature = LN Classes +_UI_ApplicableServices_functionalConstraint_feature = Functional Constraint +_UI_BasicType_basicTypes_feature = Basic Types +_UI_BasicTypes_nS_feature = NS +_UI_CDC_cDCs_feature = CD Cs +_UI_CDCs_nS_feature = NS +_UI_Changes_nS_feature = NS +_UI_Changes_serviceNS_feature = Service NS +_UI_ConstructedAttribute_constructedAttributes_feature = Constructed Attributes +_UI_ConstructedAttribute_serviceTypeRealizations_feature = Service Type Realizations +_UI_ConstructedAttributes_nS_feature = NS +_UI_CopyrightNotice_copyrighted_feature = Copyrighted +_UI_DataAttribute_cDC_feature = CDC +_UI_DataObject_anyLNClass_feature = Any LN Class +_UI_DataSetMemberOf_applicableServices_feature = Applicable Services +_UI_Doc_nSDoc_feature = NS Doc +_UI_Enumeration_enumerations_feature = Enumerations +_UI_Enumerations_nS_feature = NS +_UI_FunctionalConstraint_functionalConstraints_feature = Functional Constraints +_UI_FunctionalConstraints_nS_feature = NS +_UI_FunctionalConstraints_serviceNS_feature = Service NS +_UI_License_copyrightNotice_feature = Copyright Notice +_UI_Literal_enumeration_feature = Enumeration +_UI_LNClass_lNClasses_feature = LN Classes +_UI_LNClasses_nS_feature = NS +_UI_Notice_copyrightNotice_feature = Copyright Notice +_UI_PresenceCondition_presenceConditions_feature = Presence Conditions +_UI_PresenceConditions_nS_feature = NS +_UI_PresenceConditions_serviceNS_feature = Service NS +_UI_ServiceCDC_serviceCDCs_feature = Service CD Cs +_UI_ServiceCDCs_serviceNS_feature = Service NS +_UI_ServiceConstructedAttribute_serviceConstructedAttribute_feature = Service Constructed Attribute +_UI_ServiceConstructedAttributes_serviceNS_feature = Service NS +_UI_ServiceDataAttribute_serviceCDC_feature = Service CDC +_UI_ServiceNsUsage_applicableServiceNS_feature = Applicable Service NS +_UI_ServiceParameter_cDC_feature = CDC +_UI_ServiceTypeRealizations_serviceNS_feature = Service NS +_UI_SubDataAttribute_constructedAttribute_feature = Constructed Attribute +_UI_SubDataObject_cDC_feature = CDC diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java similarity index 78% rename from fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java rename to fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java index 508a9d2..ddb193b 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnTypeItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DependsOnItemProvider.java @@ -19,7 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import java.util.Collection; @@ -27,25 +27,26 @@ import java.util.List; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; + import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ViewerNotification; /** - * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType} object. + * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn} object. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ -public class DependsOnTypeItemProvider extends NSDObjectWithVersionAndReleaseItemProvider { +public class DependsOnItemProvider extends NSDObjectWithVersionAndReleaseItemProvider { /** * This constructs an instance from a factory and a notifier. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - public DependsOnTypeItemProvider( AdapterFactory adapterFactory ) { + public DependsOnItemProvider( AdapterFactory adapterFactory ) { super( adapterFactory ); } @@ -76,10 +77,10 @@ public class DependsOnTypeItemProvider extends NSDObjectWithVersionAndReleaseIte protected void addIdPropertyDescriptor( Object object ) { itemPropertyDescriptors.add( createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_DependsOnType_id_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_id_feature", - "_UI_DependsOnType_type" ), - NsdPackage.Literals.DEPENDS_ON_TYPE__ID, true, false, false, + getResourceLocator(), getString( "_UI_DependsOn_id_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DependsOn_id_feature", + "_UI_DependsOn_type" ), + NsdPackage.Literals.DEPENDS_ON__ID, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } @@ -92,10 +93,10 @@ public class DependsOnTypeItemProvider extends NSDObjectWithVersionAndReleaseIte protected void addPublicationStagePropertyDescriptor( Object object ) { itemPropertyDescriptors.add( createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_DependsOnType_publicationStage_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_publicationStage_feature", - "_UI_DependsOnType_type" ), - NsdPackage.Literals.DEPENDS_ON_TYPE__PUBLICATION_STAGE, true, false, false, + getResourceLocator(), getString( "_UI_DependsOn_publicationStage_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DependsOn_publicationStage_feature", + "_UI_DependsOn_type" ), + NsdPackage.Literals.DEPENDS_ON__PUBLICATION_STAGE, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } @@ -108,22 +109,22 @@ public class DependsOnTypeItemProvider extends NSDObjectWithVersionAndReleaseIte protected void addRevisionPropertyDescriptor( Object object ) { itemPropertyDescriptors.add( createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_DependsOnType_revision_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_DependsOnType_revision_feature", - "_UI_DependsOnType_type" ), - NsdPackage.Literals.DEPENDS_ON_TYPE__REVISION, true, false, false, + getResourceLocator(), getString( "_UI_DependsOn_revision_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DependsOn_revision_feature", + "_UI_DependsOn_type" ), + NsdPackage.Literals.DEPENDS_ON__REVISION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } /** - * This returns DependsOnType.gif. + * This returns DependsOn.gif. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object getImage( Object object ) { - return overlayImage( object, getResourceLocator().getImage( "full/obj16/DependsOnType" ) ); + return overlayImage( object, getResourceLocator().getImage( "full/obj16/DependsOn" ) ); } /** @@ -134,9 +135,9 @@ public class DependsOnTypeItemProvider extends NSDObjectWithVersionAndReleaseIte */ @Override public String getText( Object object ) { - String label = ( ( DependsOnType ) object ).getId(); - return label == null || label.length() == 0 ? getString( "_UI_DependsOnType_type" ) - : getString( "_UI_DependsOnType_type" ) + " " + label; + String label = ( ( DependsOn ) object ).getId(); + return label == null || label.length() == 0 ? getString( "_UI_DependsOn_type" ) + : getString( "_UI_DependsOn_type" ) + " " + label; } /** @@ -150,10 +151,10 @@ public class DependsOnTypeItemProvider extends NSDObjectWithVersionAndReleaseIte public void notifyChanged( Notification notification ) { updateChildren( notification ); - switch( notification.getFeatureID( DependsOnType.class ) ) { - case NsdPackage.DEPENDS_ON_TYPE__ID: - case NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE: - case NsdPackage.DEPENDS_ON_TYPE__REVISION: + switch( notification.getFeatureID( DependsOn.class ) ) { + case NsdPackage.DEPENDS_ON__ID: + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: + case NsdPackage.DEPENDS_ON__REVISION: fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) ); return; } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocItemProvider.java index 8f6b174..dfb5bbd 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocItemProvider.java @@ -203,9 +203,6 @@ public class DocItemProvider extends ItemProviderAdapter implements IEditingDoma FeatureMapUtil.createEntry( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS, NsdFactory.eINSTANCE.createApplicableServiceNS() ) ) ); - newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOC__MIXED, FeatureMapUtil.createEntry( - NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT, NsdFactory.eINSTANCE.createCopyrightNotice() ) ) ); - newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOC__MIXED, FeatureMapUtil .createEntry( NsdPackage.Literals.DOCUMENT_ROOT__NS, NsdFactory.eINSTANCE.createNS() ) ) ); @@ -235,7 +232,6 @@ public class DocItemProvider extends ItemProviderAdapter implements IEditingDoma } boolean qualify = childFeature == NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS - || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__NS || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC || childFeature == NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS; diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java index f7c48b2..fafd074 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DocumentRootItemProvider.java @@ -88,7 +88,6 @@ public class DocumentRootItemProvider extends ItemProviderAdapter implements IEd if( childrenFeatures == null ) { super.getChildrenFeatures( object ); childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS ); - childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT ); childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__NS ); childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC ); childrenFeatures.add( NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS ); @@ -144,7 +143,6 @@ public class DocumentRootItemProvider extends ItemProviderAdapter implements IEd switch( notification.getFeatureID( DocumentRoot.class ) ) { case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS: - case NsdPackage.DOCUMENT_ROOT__COPYRIGHT: case NsdPackage.DOCUMENT_ROOT__NS: case NsdPackage.DOCUMENT_ROOT__NS_DOC: case NsdPackage.DOCUMENT_ROOT__SERVICE_NS: @@ -168,9 +166,6 @@ public class DocumentRootItemProvider extends ItemProviderAdapter implements IEd newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS, NsdFactory.eINSTANCE.createApplicableServiceNS() ) ); - newChildDescriptors.add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT, - NsdFactory.eINSTANCE.createCopyrightNotice() ) ); - newChildDescriptors .add( createChildParameter( NsdPackage.Literals.DOCUMENT_ROOT__NS, NsdFactory.eINSTANCE.createNS() ) ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java index 11059ca..25c79e0 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NSItemProvider.java @@ -314,8 +314,8 @@ public class NSItemProvider extends CopyrightedItemProvider { newChildDescriptors .add( createChildParameter( NsdPackage.Literals.NS__CHANGES, NsdFactory.eINSTANCE.createChanges() ) ); - newChildDescriptors.add( createChildParameter( NsdPackage.Literals.NS__DEPENDS_ON, - NsdFactory.eINSTANCE.createDependsOnType() ) ); + newChildDescriptors.add( + createChildParameter( NsdPackage.Literals.NS__DEPENDS_ON, NsdFactory.eINSTANCE.createDependsOn() ) ); newChildDescriptors.add( createChildParameter( NsdPackage.Literals.NS__BASIC_TYPES, NsdFactory.eINSTANCE.createBasicTypes() ) ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java index 90ece9e..63c5dd0 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdItemProviderAdapterFactory.java @@ -113,26 +113,26 @@ public class NsdItemProviderAdapterFactory extends NsdAdapterFactory } /** - * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType} instances. + * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - protected DependsOnTypeItemProvider dependsOnTypeItemProvider; + protected DependsOnItemProvider dependsOnItemProvider; /** - * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType}. + * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override - public Adapter createDependsOnTypeAdapter() { - if( dependsOnTypeItemProvider == null ) { - dependsOnTypeItemProvider = new DependsOnTypeItemProvider( this ); + public Adapter createDependsOnAdapter() { + if( dependsOnItemProvider == null ) { + dependsOnItemProvider = new DependsOnItemProvider( this ); } - return dependsOnTypeItemProvider; + return dependsOnItemProvider; } /** @@ -1101,29 +1101,6 @@ public class NsdItemProviderAdapterFactory extends NsdAdapterFactory return serviceParameterItemProvider; } - /** - * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization} instances. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected ServiceTypeRealizationItemProvider serviceTypeRealizationItemProvider; - - /** - * This creates an adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization}. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Adapter createServiceTypeRealizationAdapter() { - if( serviceTypeRealizationItemProvider == null ) { - serviceTypeRealizationItemProvider = new ServiceTypeRealizationItemProvider( this ); - } - - return serviceTypeRealizationItemProvider; - } - /** * This keeps track of the one adapter used for all {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations} instances. * <!-- begin-user-doc --> @@ -1322,7 +1299,7 @@ public class NsdItemProviderAdapterFactory extends NsdAdapterFactory @Override public void dispose() { if( appliesToTypeItemProvider != null ) appliesToTypeItemProvider.dispose(); - if( dependsOnTypeItemProvider != null ) dependsOnTypeItemProvider.dispose(); + if( dependsOnItemProvider != null ) dependsOnItemProvider.dispose(); if( documentRootItemProvider != null ) documentRootItemProvider.dispose(); if( serviceTypeItemProvider != null ) serviceTypeItemProvider.dispose(); if( abbreviationItemProvider != null ) abbreviationItemProvider.dispose(); @@ -1365,7 +1342,6 @@ public class NsdItemProviderAdapterFactory extends NsdAdapterFactory if( serviceNSItemProvider != null ) serviceNSItemProvider.dispose(); if( serviceNsUsageItemProvider != null ) serviceNsUsageItemProvider.dispose(); if( serviceParameterItemProvider != null ) serviceParameterItemProvider.dispose(); - if( serviceTypeRealizationItemProvider != null ) serviceTypeRealizationItemProvider.dispose(); if( serviceTypeRealizationsItemProvider != null ) serviceTypeRealizationsItemProvider.dispose(); if( subDataAttributeItemProvider != null ) subDataAttributeItemProvider.dispose(); if( subDataObjectItemProvider != null ) subDataObjectItemProvider.dispose(); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeRealizationItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeRealizationItemProvider.java deleted file mode 100644 index df10a59..0000000 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/ServiceTypeRealizationItemProvider.java +++ /dev/null @@ -1,268 +0,0 @@ -/** - * Copyright (c) 2019 CentraleSupélec & EDF. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * This file is part of the RiseClipse tool - * - * Contributors: - * Computer Science Department, CentraleSupélec - * EDF R&D - * Contacts: - * dominique.marcadet@centralesupelec.fr - * aurelie.dehouck-neveu@edf.fr - * Web site: - * http://wdi.supelec.fr/software/RiseClipse/ - * - */ -package fr.centralesupelec.edf.riseclipse.iec61850.nsd.provider; - -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization; - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.common.util.ResourceLocator; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; - -/** - * This is the item provider adapter for a {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization} object. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ -public class ServiceTypeRealizationItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, - IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource { - /** - * This constructs an instance from a factory and a notifier. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public ServiceTypeRealizationItemProvider( AdapterFactory adapterFactory ) { - super( adapterFactory ); - } - - /** - * This returns the property descriptors for the adapted class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public List< IItemPropertyDescriptor > getPropertyDescriptors( Object object ) { - if( itemPropertyDescriptors == null ) { - super.getPropertyDescriptors( object ); - - addFcPropertyDescriptor( object ); - addNamePropertyDescriptor( object ); - addPresCondPropertyDescriptor( object ); - addPresCondArgsPropertyDescriptor( object ); - addPresCondArgsIDPropertyDescriptor( object ); - addTypePropertyDescriptor( object ); - addTypeKindPropertyDescriptor( object ); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Fc feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addFcPropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( - createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_ServiceTypeRealization_fc_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_ServiceTypeRealization_fc_feature", - "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__FC, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This adds a property descriptor for the Name feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addNamePropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( - createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_ServiceTypeRealization_name_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_ServiceTypeRealization_name_feature", - "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__NAME, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This adds a property descriptor for the Pres Cond feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addPresCondPropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( createItemPropertyDescriptor( - ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), - getString( "_UI_ServiceTypeRealization_presCond_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_ServiceTypeRealization_presCond_feature", - "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__PRES_COND, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This adds a property descriptor for the Pres Cond Args feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addPresCondArgsPropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( - createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_ServiceTypeRealization_presCondArgs_feature" ), - getString( "_UI_PropertyDescriptor_description", - "_UI_ServiceTypeRealization_presCondArgs_feature", "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This adds a property descriptor for the Pres Cond Args ID feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addPresCondArgsIDPropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( createItemPropertyDescriptor( - ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), - getString( "_UI_ServiceTypeRealization_presCondArgsID_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_ServiceTypeRealization_presCondArgsID_feature", - "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This adds a property descriptor for the Type feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addTypePropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( - createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), - getResourceLocator(), getString( "_UI_ServiceTypeRealization_type_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_ServiceTypeRealization_type_feature", - "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__TYPE, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This adds a property descriptor for the Type Kind feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected void addTypeKindPropertyDescriptor( Object object ) { - itemPropertyDescriptors.add( createItemPropertyDescriptor( - ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), - getString( "_UI_ServiceTypeRealization_typeKind_feature" ), - getString( "_UI_PropertyDescriptor_description", "_UI_ServiceTypeRealization_typeKind_feature", - "_UI_ServiceTypeRealization_type" ), - NsdPackage.Literals.SERVICE_TYPE_REALIZATION__TYPE_KIND, true, false, false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); - } - - /** - * This returns ServiceTypeRealization.gif. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object getImage( Object object ) { - return overlayImage( object, getResourceLocator().getImage( "full/obj16/ServiceTypeRealization" ) ); - } - - /** - * This returns the label text for the adapted class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getText( Object object ) { - String label = ( ( ServiceTypeRealization ) object ).getName(); - return label == null || label.length() == 0 ? getString( "_UI_ServiceTypeRealization_type" ) - : getString( "_UI_ServiceTypeRealization_type" ) + " " + label; - } - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void notifyChanged( Notification notification ) { - updateChildren( notification ); - - switch( notification.getFeatureID( ServiceTypeRealization.class ) ) { - case NsdPackage.SERVICE_TYPE_REALIZATION__FC: - case NsdPackage.SERVICE_TYPE_REALIZATION__NAME: - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND: - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS: - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID: - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE: - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND: - fireNotifyChanged( new ViewerNotification( notification, notification.getNotifier(), false, true ) ); - return; - } - super.notifyChanged( notification ); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - protected void collectNewChildDescriptors( Collection< Object > newChildDescriptors, Object object ) { - super.collectNewChildDescriptors( newChildDescriptors, object ); - } - - /** - * Return the resource locator for this item provider's resources. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public ResourceLocator getResourceLocator() { - return NSDEditPlugin.INSTANCE; - } - -} diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.aird b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.aird index a261324..e7eb17c 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.aird +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.aird @@ -45,23 +45,22 @@ <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> </endLabelStyleDescription> </computedStyleDescriptions> - <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan"> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan"> <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> - <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_sBdNsik6Eem-J7NZSmLltA" showIcon="false" labelExpression="service:render"> - <labelFormat>bold</labelFormat> + <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_3MNt4SpWEem2soT2TDjIcQ" showIcon="false" labelExpression="service:renderEOpposite"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </beginLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_3MNt4ipWEem2soT2TDjIcQ" showIcon="false" labelExpression="service:render"> <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> - </centerLabelStyleDescription> - <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_sBdNsyk6Eem-J7NZSmLltA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> - <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> </endLabelStyleDescription> </computedStyleDescriptions> - <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan"> + <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan"> <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> - <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_sBd0wSk6Eem-J7NZSmLltA" showIcon="false" labelExpression="service:render"> + <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_3MO8ASpWEem2soT2TDjIcQ" showIcon="false" labelExpression="service:renderEOpposite"> + <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> + </beginLabelStyleDescription> + <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_3MO8AipWEem2soT2TDjIcQ" showIcon="false" labelExpression="service:render"> <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> - </centerLabelStyleDescription> - <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_sBd0wik6Eem-J7NZSmLltA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> - <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> </endLabelStyleDescription> </computedStyleDescriptions> </data> @@ -87,28 +86,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCBOYyk6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCAnUSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCAnUik6Eem-J7NZSmLltA" x="948" y="1140"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCBOZCk6Eem-J7NZSmLltA" type="2003" element="_r_SDcCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCBOZyk6Eem-J7NZSmLltA" type="5007"/> - <children xmi:type="notation:Node" xmi:id="_sCBOaCk6Eem-J7NZSmLltA" type="7004"> - <children xmi:type="notation:Node" xmi:id="_sCMNkCk6Eem-J7NZSmLltA" type="3010" element="_sAZdwCk6Eem-J7NZSmLltA"> - <styles xmi:type="notation:FontStyle" xmi:id="_sCMNkSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/> - <layoutConstraint xmi:type="notation:Location" xmi:id="_sCMNkik6Eem-J7NZSmLltA"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCMNkyk6Eem-J7NZSmLltA" type="3010" element="_sAZdwik6Eem-J7NZSmLltA"> - <styles xmi:type="notation:FontStyle" xmi:id="_sCMNlCk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Location" xmi:id="_sCMNlSk6Eem-J7NZSmLltA"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCM0kCk6Eem-J7NZSmLltA" type="3010" element="_sAaE0Sk6Eem-J7NZSmLltA"> - <styles xmi:type="notation:FontStyle" xmi:id="_sCM0kSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Location" xmi:id="_sCM0kik6Eem-J7NZSmLltA"/> - </children> - <styles xmi:type="notation:SortingStyle" xmi:id="_sCBOaSk6Eem-J7NZSmLltA"/> - <styles xmi:type="notation:FilteringStyle" xmi:id="_sCBOaik6Eem-J7NZSmLltA"/> - </children> - <styles xmi:type="notation:ShapeStyle" xmi:id="_sCBOZSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCBOZik6Eem-J7NZSmLltA" x="900" y="752"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCAnUik6Eem-J7NZSmLltA" x="948" y="1132"/> </children> <children xmi:type="notation:Node" xmi:id="_sCBOayk6Eem-J7NZSmLltA" type="2003" element="_r_Sqgik6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCBObik6Eem-J7NZSmLltA" type="5007"/> @@ -194,7 +172,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCCcgyk6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCB1kCk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8" italic="true"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCB1kSk6Eem-J7NZSmLltA" x="3343" y="680"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCB1kSk6Eem-J7NZSmLltA" x="3344" y="648"/> </children> <children xmi:type="notation:Node" xmi:id="_sCCchCk6Eem-J7NZSmLltA" type="2003" element="_r_Z_QCk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCCchyk6Eem-J7NZSmLltA" type="5007"/> @@ -220,7 +198,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCCckSk6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCCcjCk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCCcjSk6Eem-J7NZSmLltA" x="1624" y="811"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCCcjSk6Eem-J7NZSmLltA" x="1624" y="849"/> </children> <children xmi:type="notation:Node" xmi:id="_sCCcmSk6Eem-J7NZSmLltA" type="2003" element="_r_cbgSk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCCcnCk6Eem-J7NZSmLltA" type="5007"/> @@ -284,7 +262,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCDDryk6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCDDqik6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCDDqyk6Eem-J7NZSmLltA" x="2912" y="688"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCDDqyk6Eem-J7NZSmLltA" x="2904" y="664"/> </children> <children xmi:type="notation:Node" xmi:id="_sCDDsCk6Eem-J7NZSmLltA" type="2003" element="_r_h7ESk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCDqoCk6Eem-J7NZSmLltA" type="5007"/> @@ -704,11 +682,15 @@ <styles xmi:type="notation:FontStyle" xmi:id="_sCXMvyk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> <layoutConstraint xmi:type="notation:Location" xmi:id="_sCXMwCk6Eem-J7NZSmLltA"/> </children> + <children xmi:type="notation:Node" xmi:id="_3Ms2ECpWEem2soT2TDjIcQ" type="3010" element="_3LqUQCpWEem2soT2TDjIcQ"> + <styles xmi:type="notation:FontStyle" xmi:id="_3Ms2ESpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <layoutConstraint xmi:type="notation:Location" xmi:id="_3Ms2EipWEem2soT2TDjIcQ"/> + </children> <styles xmi:type="notation:SortingStyle" xmi:id="_sCH8GSk6Eem-J7NZSmLltA"/> <styles xmi:type="notation:FilteringStyle" xmi:id="_sCH8Gik6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCH8FSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCH8Fik6Eem-J7NZSmLltA" x="372" y="556"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCH8Fik6Eem-J7NZSmLltA" x="372" y="544"/> </children> <children xmi:type="notation:Node" xmi:id="_sCH8Gyk6Eem-J7NZSmLltA" type="2003" element="_r_5HcCk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCH8Hik6Eem-J7NZSmLltA" type="5007"/> @@ -801,7 +783,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCJKQCk6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCJKOyk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCJKPCk6Eem-J7NZSmLltA" x="3868" y="833"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCJKPCk6Eem-J7NZSmLltA" x="3880" y="833"/> </children> <children xmi:type="notation:Node" xmi:id="_sCJKQSk6Eem-J7NZSmLltA" type="2003" element="_r_9_8Ck6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCJKRCk6Eem-J7NZSmLltA" type="5007"/> @@ -823,7 +805,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCJxRik6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCJxQSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCJxQik6Eem-J7NZSmLltA" x="3612" y="833"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCJxQik6Eem-J7NZSmLltA" x="3596" y="833"/> </children> <children xmi:type="notation:Node" xmi:id="_sCJxRyk6Eem-J7NZSmLltA" type="2003" element="_r__OESk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCJxSik6Eem-J7NZSmLltA" type="5007"/> @@ -922,7 +904,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCKYVik6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCKYUSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCKYUik6Eem-J7NZSmLltA" x="596" y="1140"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCKYUik6Eem-J7NZSmLltA" x="596" y="1132"/> </children> <children xmi:type="notation:Node" xmi:id="_sCKYVyk6Eem-J7NZSmLltA" type="2003" element="_sADfgSk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCKYWik6Eem-J7NZSmLltA" type="5007"/> @@ -964,7 +946,7 @@ <styles xmi:type="notation:FilteringStyle" xmi:id="_sCK_Zik6Eem-J7NZSmLltA"/> </children> <styles xmi:type="notation:ShapeStyle" xmi:id="_sCK_YSk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCK_Yik6Eem-J7NZSmLltA" x="2732" y="680"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCK_Yik6Eem-J7NZSmLltA" x="2732" y="655"/> </children> <children xmi:type="notation:Node" xmi:id="_sCK_Zyk6Eem-J7NZSmLltA" type="2003" element="_sAGi0ik6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCK_aik6Eem-J7NZSmLltA" type="5007"/> @@ -1127,35 +1109,19 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCehaik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfIcCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCfIcSk6Eem-J7NZSmLltA" type="4001" element="_sBaxeSk6Eem-J7NZSmLltA" source="_sCBOayk6Eem-J7NZSmLltA" target="_sCERtCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCfIdSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIdik6Eem-J7NZSmLltA" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCfIdyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIeCk6Eem-J7NZSmLltA" x="425" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCfIeSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIeik6Eem-J7NZSmLltA" x="157" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCfIcik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCfIcyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCfIdCk6Eem-J7NZSmLltA" points="[1, -49, -1166, -33]$[1, -77, -1166, -61]$[1165, -77, -2, -61]$[1165, -65, -2, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfIeyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfIfCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> <edges xmi:type="notation:Edge" xmi:id="_sCfIfSk6Eem-J7NZSmLltA" type="4001" element="_sBbYhik6Eem-J7NZSmLltA" source="_sCBOayk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCfIgSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIgik6Eem-J7NZSmLltA" x="54" y="-102"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIgik6Eem-J7NZSmLltA" x="48" y="-102"/> </children> <children xmi:type="notation:Node" xmi:id="_sCfIgyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIhCk6Eem-J7NZSmLltA" x="3"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIhCk6Eem-J7NZSmLltA" x="5"/> </children> <children xmi:type="notation:Node" xmi:id="_sCfIhSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIhik6Eem-J7NZSmLltA" x="-7" y="10"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCfIhik6Eem-J7NZSmLltA" x="-9" y="10"/> </children> <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCfIfik6Eem-J7NZSmLltA" routing="Rectilinear"/> <styles xmi:type="notation:FontStyle" xmi:id="_sCfIfyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCfIgCk6Eem-J7NZSmLltA" points="[61, 98, -259, -331]$[61, 366, -259, -63]$[240, 366, -80, -63]"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCfIgCk6Eem-J7NZSmLltA" points="[61, 98, -259, -335]$[61, 362, -259, -71]$[240, 362, -80, -71]"/> <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfvgCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfvgSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> </edges> @@ -1191,726 +1157,6 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfvmCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCfvmSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCfvmik6Eem-J7NZSmLltA" type="4001" element="_sBdNsCk6Eem-J7NZSmLltA" source="_sCB1cyk6Eem-J7NZSmLltA" target="_sCBOeSk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCgWkCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWkSk6Eem-J7NZSmLltA" x="18" y="-51"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCgWkik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWkyk6Eem-J7NZSmLltA" x="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCgWlCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWlSk6Eem-J7NZSmLltA" x="6" y="8"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCfvmyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCfvnCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCfvnSk6Eem-J7NZSmLltA" points="[33, 98, -15, -161]$[33, 161, -15, -98]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCgWlik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCgWlyk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCgWmCk6Eem-J7NZSmLltA" type="4001" element="_sBdNuik6Eem-J7NZSmLltA" source="_sCB1jyk6Eem-J7NZSmLltA" target="_sCERwik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCgWnCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWnSk6Eem-J7NZSmLltA" x="58" y="-58"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCgWnik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWnyk6Eem-J7NZSmLltA" x="14" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCgWoCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWoSk6Eem-J7NZSmLltA" x="47" y="6"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCgWmSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCgWmik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCgWmyk6Eem-J7NZSmLltA" points="[-59, 1, 245, 446]$[-100, 1, 204, 446]$[-100, -313, 204, 132]$[-290, -313, 14, 132]$[-290, -342, 14, 103]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCgWoik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCgWoyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCgWpCk6Eem-J7NZSmLltA" type="4001" element="_sBd0ySk6Eem-J7NZSmLltA" source="_sCDqsik6Eem-J7NZSmLltA" target="_sCERtCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCgWqCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWqSk6Eem-J7NZSmLltA" x="-84" y="-8"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCgWqik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWqyk6Eem-J7NZSmLltA" x="109"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCgWrCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCgWrSk6Eem-J7NZSmLltA" x="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCgWpSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCgWpik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCgWpyk6Eem-J7NZSmLltA" points="[59, 73, -265, -229]$[333, 73, 9, -229]$[333, 204, 9, -98]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCg9oCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCg9oSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCg9oik6Eem-J7NZSmLltA" type="4001" element="_sBeb0Ck6Eem-J7NZSmLltA" source="_sCCchCk6Eem-J7NZSmLltA" target="_sCKYUCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCg9pik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCg9pyk6Eem-J7NZSmLltA" x="1" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCg9qCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCg9qSk6Eem-J7NZSmLltA" x="1" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCg9qik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCg9qyk6Eem-J7NZSmLltA" x="-1" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCg9oyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCg9pCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCg9pSk6Eem-J7NZSmLltA" points="[60, 2, -289, -10]$[269, 2, -80, -10]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCg9rCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCg9rSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCg9rik6Eem-J7NZSmLltA" type="4001" element="_sBeb1yk6Eem-J7NZSmLltA" source="_sCCciyk6Eem-J7NZSmLltA" target="_sCBOcik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCg9sik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCg9syk6Eem-J7NZSmLltA" x="8" y="36"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCg9tCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCg9tSk6Eem-J7NZSmLltA" x="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sChksCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChksSk6Eem-J7NZSmLltA" x="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCg9ryk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCg9sCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCg9sSk6Eem-J7NZSmLltA" points="[34, -49, -36, 90]$[34, -90, -36, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sChksik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sChksyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sChktCk6Eem-J7NZSmLltA" type="4001" element="_sBfC5ik6Eem-J7NZSmLltA" source="_sCCciyk6Eem-J7NZSmLltA" target="_sCE4wCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sChkuCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChkuSk6Eem-J7NZSmLltA" x="-29" y="15"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sChkuik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChkuyk6Eem-J7NZSmLltA" x="3" y="-4"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sChkvCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChkvSk6Eem-J7NZSmLltA" x="-6" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sChktSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sChktik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sChktyk6Eem-J7NZSmLltA" points="[-39, 0, 73, 41]$[-39, -11, 73, 30]$[-112, -11, 0, 30]$[-112, -41, 0, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sChkvik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sChkvyk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sChkwCk6Eem-J7NZSmLltA" type="4001" element="_sBfC7Sk6Eem-J7NZSmLltA" source="_sCCcoCk6Eem-J7NZSmLltA" target="_sCCcmSk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sChkxCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChkxSk6Eem-J7NZSmLltA" x="12" y="-42"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sChkxik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChkxyk6Eem-J7NZSmLltA" x="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sChkyCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sChkySk6Eem-J7NZSmLltA" x="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sChkwSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sChkwik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sChkwyk6Eem-J7NZSmLltA" points="[-1, 98, -1, -144]$[-1, 144, -1, -98]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sChkyik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sChkyyk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sChkzCk6Eem-J7NZSmLltA" type="4001" element="_sBfp9ik6Eem-J7NZSmLltA" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCK_bik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCiLwCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiLwSk6Eem-J7NZSmLltA" x="279" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiLwik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiLwyk6Eem-J7NZSmLltA" x="80" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiLxCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiLxSk6Eem-J7NZSmLltA" x="71" y="-15"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sChkzSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sChkzik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sChkzyk6Eem-J7NZSmLltA" points="[47, -54, -500, 543]$[47, -417, -500, 180]$[529, -417, -18, 180]$[529, -494, -18, 103]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiLxik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiLxyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCiLyCk6Eem-J7NZSmLltA" type="4001" element="_sBgRBik6Eem-J7NZSmLltA" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCERuyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCiLzCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiLzSk6Eem-J7NZSmLltA" x="291" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiLzik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiLzyk6Eem-J7NZSmLltA" x="128" y="716"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiL0Ck6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiL0Sk6Eem-J7NZSmLltA" x="138" y="-1"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCiLySk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCiLyik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCiLyyk6Eem-J7NZSmLltA" points="[65, 0, -789, 338]$[65, -307, -789, 31]$[854, -307, 0, 31]$[854, -338, 0, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiL0ik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiL0yk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCiL1Ck6Eem-J7NZSmLltA" type="4001" element="_sBgRDSk6Eem-J7NZSmLltA" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCKYVyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCiL2Ck6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiL2Sk6Eem-J7NZSmLltA" x="201" y="-133"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiL2ik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiL2yk6Eem-J7NZSmLltA" x="-36" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiL3Ck6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiL3Sk6Eem-J7NZSmLltA" x="70" y="6"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCiL1Sk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCiL1ik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCiL1yk6Eem-J7NZSmLltA" points="[-95, 55, 163, 575]$[-119, 55, 139, 575]$[-119, -489, 139, 31]$[-258, -489, 0, 31]$[-258, -520, 0, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiy0Ck6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiy0Sk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCiy0ik6Eem-J7NZSmLltA" type="4001" element="_sBg4Fik6Eem-J7NZSmLltA" source="_sCDDqSk6Eem-J7NZSmLltA" target="_sCDDoik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCiy1ik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiy1yk6Eem-J7NZSmLltA" x="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiy2Ck6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiy2Sk6Eem-J7NZSmLltA" x="24" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiy2ik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiy2yk6Eem-J7NZSmLltA" x="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCiy0yk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCiy1Ck6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCiy1Sk6Eem-J7NZSmLltA" points="[9, 49, -27, -95]$[9, 90, -27, -54]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiy3Ck6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiy3Sk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCiy3ik6Eem-J7NZSmLltA" type="4001" element="_sBhfJik6Eem-J7NZSmLltA" source="_sCDqpCk6Eem-J7NZSmLltA" target="_sCK_Zyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCiy4ik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiy4yk6Eem-J7NZSmLltA" x="705" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiy5Ck6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiy5Sk6Eem-J7NZSmLltA" x="15" y="817"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCiy5ik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCiy5yk6Eem-J7NZSmLltA" x="164" y="-6"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCiy3yk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCiy4Ck6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCiy4Sk6Eem-J7NZSmLltA" points="[16, -2, -1409, 408]$[16, -291, -1409, 119]$[1425, -291, 0, 119]$[1425, -410, 0, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiy6Ck6Eem-J7NZSmLltA" id="(0.7166666666666667,0.03)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCiy6Sk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCiy6ik6Eem-J7NZSmLltA" type="4001" element="_sBhfLSk6Eem-J7NZSmLltA" source="_sCDqqyk6Eem-J7NZSmLltA" target="_sCDqpCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCjZ4Ck6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ4Sk6Eem-J7NZSmLltA" x="27" y="-6"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCjZ4ik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ4yk6Eem-J7NZSmLltA" x="66" y="-7"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCjZ5Ck6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ5Sk6Eem-J7NZSmLltA" x="16" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCiy6yk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCiy7Ck6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCiy7Sk6Eem-J7NZSmLltA" points="[-35, 98, -79, -161]$[-35, 192, -79, -67]$[-15, 192, -59, -67]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCjZ5ik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCjZ5yk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCjZ6Ck6Eem-J7NZSmLltA" type="4001" element="_sBiGNik6Eem-J7NZSmLltA" source="_sCERtCk6Eem-J7NZSmLltA" target="_sCHVEik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCjZ7Ck6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ7Sk6Eem-J7NZSmLltA" x="60"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCjZ7ik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ7yk6Eem-J7NZSmLltA" x="-4" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCjZ8Ck6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ8Sk6Eem-J7NZSmLltA" x="-26" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCjZ6Sk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCjZ6ik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCjZ6yk6Eem-J7NZSmLltA" points="[29, 49, -78, -131]$[29, 83, -78, -97]$[78, 83, -29, -97]$[78, 131, -29, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCjZ8ik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCjZ8yk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCjZ9Ck6Eem-J7NZSmLltA" type="4001" element="_sBitRik6Eem-J7NZSmLltA" source="_sCERtCk6Eem-J7NZSmLltA" target="_sCGG8ik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCjZ-Ck6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ-Sk6Eem-J7NZSmLltA" x="50" y="-8"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCjZ-ik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ-yk6Eem-J7NZSmLltA" x="-5" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCjZ_Ck6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCjZ_Sk6Eem-J7NZSmLltA" x="-31" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCjZ9Sk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCjZ9ik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCjZ9yk6Eem-J7NZSmLltA" points="[-29, 49, 68, -125]$[-29, 75, 68, -99]$[-69, 75, 28, -99]$[-69, 125, 28, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkA8Ck6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkA8Sk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCkA8ik6Eem-J7NZSmLltA" type="4001" element="_sBitTSk6Eem-J7NZSmLltA" source="_sCFf3ik6Eem-J7NZSmLltA" target="_sCGuAik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCkA9ik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkA9yk6Eem-J7NZSmLltA" x="100" y="-80"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkA-Ck6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkA-Sk6Eem-J7NZSmLltA" x="103" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkA-ik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkA-yk6Eem-J7NZSmLltA" x="-31" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCkA8yk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCkA9Ck6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCkA9Sk6Eem-J7NZSmLltA" points="[36, -49, 190, 602]$[36, -510, 190, 141]$[-153, -510, 1, 141]$[-153, -602, 1, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkA_Ck6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkA_Sk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCkA_ik6Eem-J7NZSmLltA" type="4001" element="_sBjUVik6Eem-J7NZSmLltA" source="_sCFf5Sk6Eem-J7NZSmLltA" target="_sCFf3ik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCkBAik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkBAyk6Eem-J7NZSmLltA" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkBBCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkBBSk6Eem-J7NZSmLltA" x="1" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkBBik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkBByk6Eem-J7NZSmLltA" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCkA_yk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCkBACk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCkBASk6Eem-J7NZSmLltA" points="[59, 129, 22, -32]$[-23, 129, -60, -32]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkBCCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkBCSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCkBCik6Eem-J7NZSmLltA" type="4001" element="_sBj7Yyk6Eem-J7NZSmLltA" source="_sCGG5Ck6Eem-J7NZSmLltA" target="_sCCciyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCkoACk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoASk6Eem-J7NZSmLltA" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkoAik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoAyk6Eem-J7NZSmLltA" x="23" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkoBCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoBSk6Eem-J7NZSmLltA" x="-86" y="-1"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCkBCyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCkBDCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCkBDSk6Eem-J7NZSmLltA" points="[61, -14, -182, -1]$[184, -14, -59, -1]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkoBik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkoByk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCkoCCk6Eem-J7NZSmLltA" type="4001" element="_sBj7aik6Eem-J7NZSmLltA" source="_sCGG6yk6Eem-J7NZSmLltA" target="_sCGG5Ck6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCkoDCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoDSk6Eem-J7NZSmLltA" x="8" y="-68"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkoDik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoDyk6Eem-J7NZSmLltA" x="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkoECk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoESk6Eem-J7NZSmLltA" x="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCkoCSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCkoCik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCkoCyk6Eem-J7NZSmLltA" points="[21, 49, -28, -95]$[21, 95, -28, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkoEik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCkoEyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCkoFCk6Eem-J7NZSmLltA" type="4001" element="_sBkidik6Eem-J7NZSmLltA" source="_sCHVCyk6Eem-J7NZSmLltA" target="_sCB1eik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCkoGCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoGSk6Eem-J7NZSmLltA" x="35" y="12"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkoGik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoGyk6Eem-J7NZSmLltA" x="25" y="2"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCkoHCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCkoHSk6Eem-J7NZSmLltA" x="-60" y="-3"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCkoFSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCkoFik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCkoFyk6Eem-J7NZSmLltA" points="[34, 98, -243, -137]$[34, 115, -243, -120]$[242, 115, -35, -120]$[242, 137, -35, -98]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sClPECk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sClPESk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sClPEik6Eem-J7NZSmLltA" type="4001" element="_sBkifSk6Eem-J7NZSmLltA" source="_sCHVCyk6Eem-J7NZSmLltA" target="_sCHVBCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sClPFik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sClPFyk6Eem-J7NZSmLltA" x="-33" y="12"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sClPGCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sClPGSk6Eem-J7NZSmLltA" x="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sClPGik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sClPGyk6Eem-J7NZSmLltA" x="-42" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sClPEyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sClPFCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sClPFSk6Eem-J7NZSmLltA" points="[-26, 49, -110, -88]$[-26, 75, -110, -62]$[46, 75, -38, -62]$[46, 88, -38, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sClPHCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sClPHSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sClPHik6Eem-J7NZSmLltA" type="4001" element="_sBlJhik6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCDDsCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sClPIik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sClPIyk6Eem-J7NZSmLltA" x="98" y="71"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sClPJCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sClPJSk6Eem-J7NZSmLltA" x="4" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sClPJik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sClPJyk6Eem-J7NZSmLltA" x="-29" y="71"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sClPHyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sClPICk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sClPISk6Eem-J7NZSmLltA" points="[80, 54, -219, -129]$[275, 54, -24, -129]$[275, 134, -24, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sClPKCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sClPKSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sClPKik6Eem-J7NZSmLltA" type="4001" element="_sBlwkyk6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCBOZCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCl2Iyk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCl2JCk6Eem-J7NZSmLltA" x="109" y="77"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCl2JSk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCl2Jik6Eem-J7NZSmLltA" x="-2" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCl2Jyk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCl2KCk6Eem-J7NZSmLltA" x="-8" y="14"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCl2ICk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCl2ISk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCl2Iik6Eem-J7NZSmLltA" points="[80, 42, -448, -141]$[480, 42, -48, -141]$[480, 134, -48, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCl2KSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCl2Kik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCl2Kyk6Eem-J7NZSmLltA" type="4001" element="_sBlwmik6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCCcoCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCl2Lyk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCl2MCk6Eem-J7NZSmLltA" x="242" y="20"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCl2MSk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCl2Mik6Eem-J7NZSmLltA" x="340" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCl2Myk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCl2NCk6Eem-J7NZSmLltA" x="64" y="21"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCl2LCk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCl2LSk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCl2Lik6Eem-J7NZSmLltA" points="[80, 30, -634, -81]$[685, 30, -29, -81]$[685, 62, -29, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCl2NSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCl2Nik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCl2Nyk6Eem-J7NZSmLltA" type="4001" element="_sBmXoCk6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCGG6yk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCmdMCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdMSk6Eem-J7NZSmLltA" x="469" y="28"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCmdMik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdMyk6Eem-J7NZSmLltA" x="656" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCmdNCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdNSk6Eem-J7NZSmLltA" x="68" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCl2OCk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCl2OSk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCl2Oik6Eem-J7NZSmLltA" points="[80, 22, -859, -89]$[924, 22, -15, -89]$[924, 62, -15, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCmdNik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCmdNyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCmdOCk6Eem-J7NZSmLltA" type="4001" element="_sBmXpyk6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCIjJik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCmdPCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdPSk6Eem-J7NZSmLltA" x="639" y="25"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCmdPik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdPyk6Eem-J7NZSmLltA" x="1100" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCmdQCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdQSk6Eem-J7NZSmLltA" x="45" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCmdOSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCmdOik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCmdOyk6Eem-J7NZSmLltA" points="[80, 10, -1451, -93]$[1520, 10, -11, -93]$[1520, 54, -11, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCmdQik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCmdQyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCmdRCk6Eem-J7NZSmLltA" type="4001" element="_sBm-tik6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCB1cyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCmdSCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdSSk6Eem-J7NZSmLltA" x="764" y="39"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCmdSik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdSyk6Eem-J7NZSmLltA" x="1318" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCmdTCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCmdTSk6Eem-J7NZSmLltA" x="143" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCmdRSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCmdRik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCmdRyk6Eem-J7NZSmLltA" points="[80, 0, -1683, -103]$[1764, 0, 1, -103]$[1764, 54, 1, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCmdTik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnEQCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCnEQSk6Eem-J7NZSmLltA" type="4001" element="_sBnlxik6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCFf5Sk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCnERSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnERik6Eem-J7NZSmLltA" x="839" y="49"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnERyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnESCk6Eem-J7NZSmLltA" x="895" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnESSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnESik6Eem-J7NZSmLltA" x="232" y="44"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCnEQik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCnEQyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCnERCk6Eem-J7NZSmLltA" points="[80, -10, -1859, -113]$[1920, -10, -19, -113]$[1920, 54, -19, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnESyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnETCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCnETSk6Eem-J7NZSmLltA" type="4001" element="_sBnlzSk6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCDqqyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCnEUSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnEUik6Eem-J7NZSmLltA" x="926" y="61"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnEUyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnEVCk6Eem-J7NZSmLltA" x="313" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnEVSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnEVik6Eem-J7NZSmLltA" x="27" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCnETik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCnETyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCnEUCk6Eem-J7NZSmLltA" points="[80, -22, -2063, -125]$[2120, -22, -23, -125]$[2120, 54, -23, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnEVyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnEWCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCnEWSk6Eem-J7NZSmLltA" type="4001" element="_sBoM1ik6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCDDqSk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCnEXSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnEXik6Eem-J7NZSmLltA" x="1188" y="89"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnEXyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnEYCk6Eem-J7NZSmLltA" x="1701" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnEYSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnEYik6Eem-J7NZSmLltA" x="7" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCnEWik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCnEWyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCnEXCk6Eem-J7NZSmLltA" points="[80, -34, -2439, -153]$[2478, -34, -41, -153]$[2478, 70, -41, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnrUCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnrUSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCnrUik6Eem-J7NZSmLltA" type="4001" element="_sBoz5ik6Eem-J7NZSmLltA" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCHVCyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCnrVik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrVyk6Eem-J7NZSmLltA" x="1314" y="105"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnrWCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrWSk6Eem-J7NZSmLltA" x="1761" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnrWik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrWyk6Eem-J7NZSmLltA" x="14" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCnrUyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCnrVCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCnrVSk6Eem-J7NZSmLltA" points="[80, -46, -2686, -173]$[2736, -46, -30, -173]$[2736, 78, -30, -49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnrXCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnrXSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCnrXik6Eem-J7NZSmLltA" type="4001" element="_sBpa8Ck6Eem-J7NZSmLltA" source="_sCH8Gyk6Eem-J7NZSmLltA" target="_sCFf0Ck6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCnrYik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrYyk6Eem-J7NZSmLltA" x="21" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnrZCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrZSk6Eem-J7NZSmLltA" x="122" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnrZik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrZyk6Eem-J7NZSmLltA" x="6" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCnrXyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCnrYCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCnrYSk6Eem-J7NZSmLltA" points="[80, 56, -311, -50]$[323, 56, -68, -50]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnraCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCnraSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCnraik6Eem-J7NZSmLltA" type="4001" element="_sBpa9yk6Eem-J7NZSmLltA" source="_sCIjJik6Eem-J7NZSmLltA" target="_sCH8Iik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCnrbik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrbyk6Eem-J7NZSmLltA" x="19" y="-66"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnrcCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrcSk6Eem-J7NZSmLltA" x="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCnrcik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCnrcyk6Eem-J7NZSmLltA" x="7"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCnrayk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCnrbCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCnrbSk6Eem-J7NZSmLltA" points="[44, 98, 0, -152]$[44, 152, 0, -98]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCoSYCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCoSYSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCoSYik6Eem-J7NZSmLltA" type="4001" element="_sBqCBik6Eem-J7NZSmLltA" source="_sCJKMyk6Eem-J7NZSmLltA" target="_sCJxRyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCoSZik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSZyk6Eem-J7NZSmLltA" x="-165" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCoSaCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSaSk6Eem-J7NZSmLltA" x="152" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCoSaik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSayk6Eem-J7NZSmLltA" x="-113" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCoSYyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCoSZCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCoSZSk6Eem-J7NZSmLltA" points="[59, 7, -360, 406]$[439, 7, 20, 406]$[439, -312, 20, 87]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCoSbCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCoSbSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCoSbik6Eem-J7NZSmLltA" type="4001" element="_sBqpFik6Eem-J7NZSmLltA" source="_sCJKOik6Eem-J7NZSmLltA" target="_sCJKMyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCoScik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoScyk6Eem-J7NZSmLltA" x="41" y="44"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCoSdCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSdSk6Eem-J7NZSmLltA" x="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCoSdik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSdyk6Eem-J7NZSmLltA" x="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCoSbyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCoScCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCoScSk6Eem-J7NZSmLltA" points="[12, 0, 0, 111]$[12, -111, 0, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCoSeCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCoSeSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCoSeik6Eem-J7NZSmLltA" type="4001" element="_sBrQIyk6Eem-J7NZSmLltA" source="_sCJxQCk6Eem-J7NZSmLltA" target="_sCJKQSk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCoSfik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSfyk6Eem-J7NZSmLltA" x="41" y="-73"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCoSgCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSgSk6Eem-J7NZSmLltA" x="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCoSgik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCoSgyk6Eem-J7NZSmLltA" x="-11" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCoSeyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCoSfCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCoSfSk6Eem-J7NZSmLltA" points="[-25, -49, -26, 160]$[-25, -160, -26, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCo5cCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCo5cSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCo5cik6Eem-J7NZSmLltA" type="4001" element="_sBrQKik6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCDDsCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCo5dik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCo5dyk6Eem-J7NZSmLltA" x="133" y="-7"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCo5eCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCo5eSk6Eem-J7NZSmLltA" x="76" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCo5eik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCo5eyk6Eem-J7NZSmLltA" x="-31" y="-9"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCo5cyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCo5dCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCo5dSk6Eem-J7NZSmLltA" points="[80, -50, -283, 119]$[339, -50, -24, 119]$[339, -120, -24, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCo5fCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCo5fSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCo5fik6Eem-J7NZSmLltA" type="4001" element="_sBr3Nik6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCGG6yk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCo5gik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCo5gyk6Eem-J7NZSmLltA" x="299" y="-141"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCo5hCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCo5hSk6Eem-J7NZSmLltA" x="224" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCo5hik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCo5hyk6Eem-J7NZSmLltA" x="-118" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCo5fyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCo5gCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCo5gSk6Eem-J7NZSmLltA" points="[80, -38, -923, 203]$[964, -38, -39, 203]$[964, -192, -39, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCo5iCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCo5iSk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCo5iik6Eem-J7NZSmLltA" type="4001" element="_sBseQCk6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCIjJik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCpggCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpggSk6Eem-J7NZSmLltA" x="587" y="-163"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCpggik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpggyk6Eem-J7NZSmLltA" x="1152" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCpghCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpghSk6Eem-J7NZSmLltA" x="9" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCo5iyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCo5jCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCo5jSk6Eem-J7NZSmLltA" points="[80, -22, -1515, 227]$[1552, -22, -43, 227]$[1552, -200, -43, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCpghik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCpghyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCpgiCk6Eem-J7NZSmLltA" type="4001" element="_sBseRyk6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCB1cyk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCpgjCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpgjSk6Eem-J7NZSmLltA" x="704" y="-175"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCpgjik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpgjyk6Eem-J7NZSmLltA" x="386" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCpgkCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpgkSk6Eem-J7NZSmLltA" x="8" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCpgiSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCpgiik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCpgiyk6Eem-J7NZSmLltA" points="[80, -10, -1747, 239]$[1780, -10, -47, 239]$[1780, -200, -47, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCpgkik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCpgkyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCpglCk6Eem-J7NZSmLltA" type="4001" element="_sBtFVik6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCK_YCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCpgmCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpgmSk6Eem-J7NZSmLltA" x="1007" y="2"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCpgmik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpgmyk6Eem-J7NZSmLltA" x="365" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCpgnCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCpgnSk6Eem-J7NZSmLltA" x="93" y="-5"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCpglSk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCpglik6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCpglyk6Eem-J7NZSmLltA" points="[80, 0, -2323, 241]$[2368, 0, -35, 241]$[2368, -192, -35, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCpgnik6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqHkCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCqHkSk6Eem-J7NZSmLltA" type="4001" element="_sBtsZik6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCJxQCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCqHlSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHlik6Eem-J7NZSmLltA" x="1628" y="-56"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCqHlyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHmCk6Eem-J7NZSmLltA" x="-84" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCqHmSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHmik6Eem-J7NZSmLltA" x="-605" y="-10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCqHkik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCqHkyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCqHlCk6Eem-J7NZSmLltA" points="[80, 97, -3213, 74]$[3252, 97, -41, 74]$[3252, 23, -41, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqHmyk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqHnCk6Eem-J7NZSmLltA" id="(0.49645390070921985,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCqHnSk6Eem-J7NZSmLltA" type="4001" element="_sBtsbSk6Eem-J7NZSmLltA" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCJKOik6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCqHoSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHoik6Eem-J7NZSmLltA" x="1733" y="-83"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCqHoyk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHpCk6Eem-J7NZSmLltA" x="2735" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCqHpSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHpik6Eem-J7NZSmLltA" x="-137" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCqHnik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCqHnyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCqHoCk6Eem-J7NZSmLltA" points="[80, 62, -3459, 150]$[3540, 62, 1, 150]$[3540, -39, 1, 49]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqHpyk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqHqCk6Eem-J7NZSmLltA" id="(0.5,0.5)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCqHqSk6Eem-J7NZSmLltA" type="4001" element="_sBuTdik6Eem-J7NZSmLltA" source="_sCKYUCk6Eem-J7NZSmLltA" target="_sCAnUCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCqHrSk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHrik6Eem-J7NZSmLltA" x="-2" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCqHryk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHsCk6Eem-J7NZSmLltA" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCqHsSk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqHsik6Eem-J7NZSmLltA" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCqHqik6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCqHqyk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCqHrCk6Eem-J7NZSmLltA" points="[80, 48, -272, -50]$[272, 48, -80, -50]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCquoCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCquoSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCquoik6Eem-J7NZSmLltA" type="4001" element="_sBu6hik6Eem-J7NZSmLltA" source="_sCK_YCk6Eem-J7NZSmLltA" target="_sCDqpCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCqupik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqupyk6Eem-J7NZSmLltA" x="10" y="14"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCquqCk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCquqSk6Eem-J7NZSmLltA" x="55" y="3"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCquqik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCquqyk6Eem-J7NZSmLltA" x="-41" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCquoyk6Eem-J7NZSmLltA" routing="Rectilinear"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCqupCk6Eem-J7NZSmLltA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCqupSk6Eem-J7NZSmLltA" points="[0, 98, 152, -153]$[0, 191, 152, -60]$[-93, 191, 59, -60]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqurCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCqurSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> - </edges> <edges xmi:type="notation:Edge" xmi:id="_sCqurik6Eem-J7NZSmLltA" type="4001" element="_sBzL8Ck6Eem-J7NZSmLltA" source="_sCAnUCk6Eem-J7NZSmLltA" target="_sCMNgCk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCqusik6Eem-J7NZSmLltA" type="6001"> <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCqusyk6Eem-J7NZSmLltA" y="-10"/> @@ -1927,22 +1173,6 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCquuCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCquuSk6Eem-J7NZSmLltA" id="(0.4968944099378882,1.0)"/> </edges> - <edges xmi:type="notation:Edge" xmi:id="_sCquuik6Eem-J7NZSmLltA" type="4001" element="_sBzzBik6Eem-J7NZSmLltA" source="_sCBOZCk6Eem-J7NZSmLltA" target="_sCMNgCk6Eem-J7NZSmLltA"> - <children xmi:type="notation:Node" xmi:id="_sCrVsCk6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCrVsSk6Eem-J7NZSmLltA" y="-10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCrVsik6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCrVsyk6Eem-J7NZSmLltA" y="10"/> - </children> - <children xmi:type="notation:Node" xmi:id="_sCrVtCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCrVtSk6Eem-J7NZSmLltA" y="10"/> - </children> - <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCquuyk6Eem-J7NZSmLltA" routing="Tree"/> - <styles xmi:type="notation:FontStyle" xmi:id="_sCquvCk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCquvSk6Eem-J7NZSmLltA" points="[0, 0, -517, 60]$[517, -60, 0, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCrVtik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> - <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCrVtyk6Eem-J7NZSmLltA" id="(0.4968944099378882,1.0)"/> - </edges> <edges xmi:type="notation:Edge" xmi:id="_sCrVuCk6Eem-J7NZSmLltA" type="4001" element="_sB0aEyk6Eem-J7NZSmLltA" source="_sCB1eik6Eem-J7NZSmLltA" target="_sCB1jyk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCrVvCk6Eem-J7NZSmLltA" type="6001"> <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCrVvSk6Eem-J7NZSmLltA" y="-10"/> @@ -2185,18 +1415,18 @@ </edges> <edges xmi:type="notation:Edge" xmi:id="_sCuZGik6Eem-J7NZSmLltA" type="4001" element="_sB22ZCk6Eem-J7NZSmLltA" source="_sCJKQSk6Eem-J7NZSmLltA" target="_sCDqpCk6Eem-J7NZSmLltA"> <children xmi:type="notation:Node" xmi:id="_sCuZHik6Eem-J7NZSmLltA" type="6001"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCuZHyk6Eem-J7NZSmLltA" y="-10"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCuZHyk6Eem-J7NZSmLltA" x="50" y="-10"/> </children> <children xmi:type="notation:Node" xmi:id="_sCvAECk6Eem-J7NZSmLltA" type="6002"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvAESk6Eem-J7NZSmLltA" x="-33" y="10"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvAESk6Eem-J7NZSmLltA" x="83" y="54"/> </children> <children xmi:type="notation:Node" xmi:id="_sCvAEik6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvAEyk6Eem-J7NZSmLltA" x="-79" y="10"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvAEyk6Eem-J7NZSmLltA" x="-159" y="10"/> </children> <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCuZGyk6Eem-J7NZSmLltA" routing="Tree"/> <styles xmi:type="notation:FontStyle" xmi:id="_sCuZHCk6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCuZHSk6Eem-J7NZSmLltA" points="[0, 98, 1043, -209]$[0, 436, 1043, 129]$[-1042, 436, 1, 129]$[-1042, 307, 1, 0]"/> - <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCvAFCk6Eem-J7NZSmLltA" id="(0.5,0.0)"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCuZHSk6Eem-J7NZSmLltA" points="[0, 5, 1101, -209]$[0, 335, 1101, 121]$[-1132, 335, -31, 121]$[-1132, 214, -31, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCvAFCk6Eem-J7NZSmLltA" id="(0.9166666666666666,0.97)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCvAFSk6Eem-J7NZSmLltA" id="(0.5,1.0)"/> </edges> <edges xmi:type="notation:Edge" xmi:id="_sCvAFik6Eem-J7NZSmLltA" type="4001" element="_sB3dZik6Eem-J7NZSmLltA" source="_sCJxRyk6Eem-J7NZSmLltA" target="_sCFf1yk6Eem-J7NZSmLltA"> @@ -2255,11 +1485,11 @@ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvnMyk6Eem-J7NZSmLltA" x="3" y="10"/> </children> <children xmi:type="notation:Node" xmi:id="_sCvnNCk6Eem-J7NZSmLltA" type="6003"> - <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvnNSk6Eem-J7NZSmLltA" x="-15" y="-23"/> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sCvnNSk6Eem-J7NZSmLltA" x="-19" y="-19"/> </children> <styles xmi:type="notation:ConnectorStyle" xmi:id="_sCvnLSk6Eem-J7NZSmLltA" routing="Tree"/> <styles xmi:type="notation:FontStyle" xmi:id="_sCvnLik6Eem-J7NZSmLltA" fontName=".AppleSystemUIFont" fontHeight="8"/> - <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCvnLyk6Eem-J7NZSmLltA" points="[0, 0, 123, 1019]$[0, -984, 123, 35]$[-141, -984, -18, 35]$[-141, -1018, -18, 1]"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sCvnLyk6Eem-J7NZSmLltA" points="[0, 0, 123, 1019]$[0, -980, 123, 39]$[-141, -980, -18, 39]$[-141, -1018, -18, 1]"/> <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCvnNik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCvnNyk6Eem-J7NZSmLltA" id="(0.6149068322981367,0.99)"/> </edges> @@ -2327,85 +1557,754 @@ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCw1Rik6Eem-J7NZSmLltA" id="(0.5,0.0)"/> <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_sCw1Ryk6Eem-J7NZSmLltA" id="(0.496551724137931,1.0)"/> </edges> - </data> - </ownedAnnotationEntries> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_OZECk6Eem-J7NZSmLltA" name="AppliesToType" tooltipText="" outgoingEdges="_sBzL8Ck6Eem-J7NZSmLltA" incomingEdges="_sBuTdik6Eem-J7NZSmLltA" width="12" height="10"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> - <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> - <arrangeConstraints>KEEP_SIZE</arrangeConstraints> - <arrangeConstraints>KEEP_RATIO</arrangeConstraints> - <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_r_Q1UCk6Eem-J7NZSmLltA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> - <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> - </ownedStyle> - <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAXolyk6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/id"/> - <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAYPoSk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> - </ownedStyle> - <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> - </ownedElements> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAY2sCk6Eem-J7NZSmLltA" name="publicationStage : PubStage = IS" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/publicationStage"/> - <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/publicationStage"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAY2sSk6Eem-J7NZSmLltA" labelAlignment="LEFT"> - <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> - </ownedStyle> - <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> - </ownedElements> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAY2sik6Eem-J7NZSmLltA" name="revision : EString = A" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/revision"/> - <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/revision"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAY2syk6Eem-J7NZSmLltA" labelAlignment="LEFT"> - <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> - </ownedStyle> - <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> - </ownedElements> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_SDcCk6Eem-J7NZSmLltA" name="DependsOnType" tooltipText="" outgoingEdges="_sBzzBik6Eem-J7NZSmLltA" incomingEdges="_sBlwkyk6Eem-J7NZSmLltA" width="12" height="10"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//DependsOnType"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DependsOnType"/> - <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> - <arrangeConstraints>KEEP_SIZE</arrangeConstraints> - <arrangeConstraints>KEEP_RATIO</arrangeConstraints> - <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_r_SqgCk6Eem-J7NZSmLltA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> - <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> - </ownedStyle> - <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAZdwCk6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DependsOnType/id"/> - <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DependsOnType/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAZdwSk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> - </ownedStyle> - <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> - </ownedElements> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAZdwik6Eem-J7NZSmLltA" name="publicationStage : PubStage = IS" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DependsOnType/publicationStage"/> - <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DependsOnType/publicationStage"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAaE0Ck6Eem-J7NZSmLltA" labelAlignment="LEFT"> - <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> - </ownedStyle> - <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> - </ownedElements> - <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAaE0Sk6Eem-J7NZSmLltA" name="revision : EString = A" tooltipText=""> - <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DependsOnType/revision"/> - <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DependsOnType/revision"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAaE0ik6Eem-J7NZSmLltA" labelAlignment="LEFT"> - <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> - </ownedStyle> - <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> - </ownedElements> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_Sqgik6Eem-J7NZSmLltA" name="DocumentRoot" tooltipText="" outgoingEdges="_sBaKYCk6Eem-J7NZSmLltA _sBaxeSk6Eem-J7NZSmLltA _sBbYhik6Eem-J7NZSmLltA _sBb_lik6Eem-J7NZSmLltA _sBcmpik6Eem-J7NZSmLltA" width="12" height="10"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//DocumentRoot"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DocumentRoot"/> - <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> - <arrangeConstraints>KEEP_SIZE</arrangeConstraints> - <arrangeConstraints>KEEP_RATIO</arrangeConstraints> - <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_r_T4oCk6Eem-J7NZSmLltA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <edges xmi:type="notation:Edge" xmi:id="_3MxHgCpWEem2soT2TDjIcQ" type="4001" element="_3MNG0CpWEem2soT2TDjIcQ" source="_sCHVCyk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3MxHhCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MxHhSpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MxHhipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MxHhypWEem2soT2TDjIcQ" x="187" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MxHiCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MxHiSpWEem2soT2TDjIcQ" x="13" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3MxHgSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3MxHgipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3MxHgypWEem2soT2TDjIcQ" points="[1, -49, 2767, 82]$[1, -189, 2767, -58]$[-2686, -189, 80, -58]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3MxukCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3MxukSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3MxukipWEem2soT2TDjIcQ" type="4001" element="_3MNt6SpWEem2soT2TDjIcQ" source="_sCH8Iik6Eem-J7NZSmLltA" target="_sCIjJik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3MxulipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MxulypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MxumCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MxumSpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MxumipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MxumypWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3MxukypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3MxulCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3MxulSpWEem2soT2TDjIcQ" points="[0, 0, 44, 152]$[-44, -152, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3MyVoCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3MyVoSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3MyVoipWEem2soT2TDjIcQ" type="4001" element="_3MOU9ipWEem2soT2TDjIcQ" source="_sCJKMyk6Eem-J7NZSmLltA" target="_sCJxRyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3MyVpipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MyVpypWEem2soT2TDjIcQ" x="-239" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MyVqCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MyVqSpWEem2soT2TDjIcQ" x="-65" y="-12"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MyVqipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MyVqypWEem2soT2TDjIcQ" x="95" y="-68"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3MyVoypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3MyVpCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3MyVpSpWEem2soT2TDjIcQ" points="[59, 7, -360, 406]$[477, 7, 58, 406]$[477, -312, 58, 87]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3My8sCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3My8sSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3My8sipWEem2soT2TDjIcQ" type="4001" element="_3MO8CSpWEem2soT2TDjIcQ" source="_sCDqpCk6Eem-J7NZSmLltA" target="_sCK_Zyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3My8tipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3My8typWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3My8uCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3My8uSpWEem2soT2TDjIcQ" x="65" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3My8uipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3My8uypWEem2soT2TDjIcQ" x="289" y="53"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3My8sypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3My8tCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3My8tSpWEem2soT2TDjIcQ" points="[1, 49, -1449, 625]$[1, 88, -1449, 664]$[1449, 88, -1, 664]$[1449, -457, -1, 119]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3My8vCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3My8vSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3My8vipWEem2soT2TDjIcQ" type="4001" element="_3MPjFipWEem2soT2TDjIcQ" source="_sCH8FCk6Eem-J7NZSmLltA" target="_sCIjJik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3My8wipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3My8wypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MzjwCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MzjwSpWEem2soT2TDjIcQ" x="-5" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MzjwipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MzjwypWEem2soT2TDjIcQ" x="-114" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3My8vypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3My8wCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3My8wSpWEem2soT2TDjIcQ" points="[80, 0, -1451, -107]$[1532, 0, 1, -107]$[1532, 58, 1, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3MzjxCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3MzjxSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3MzjxipWEem2soT2TDjIcQ" type="4001" element="_3MQKJipWEem2soT2TDjIcQ" source="_sCJKQSk6Eem-J7NZSmLltA" target="_sCJxQCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3MzjyipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MzjyypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MzjzCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MzjzSpWEem2soT2TDjIcQ" x="-2" y="74"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3MzjzipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3MzjzypWEem2soT2TDjIcQ" x="7" y="-80"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3MzjxypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3MzjyCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3MzjySpWEem2soT2TDjIcQ" points="[-17, 49, 0, -160]$[-17, 160, 0, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Mzj0CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3Mzj0SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M0K0CpWEem2soT2TDjIcQ" type="4001" element="_3MQxNipWEem2soT2TDjIcQ" source="_sCFf3ik6Eem-J7NZSmLltA" target="_sCFf5Sk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M0K1CpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0K1SpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M0K1ipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0K1ypWEem2soT2TDjIcQ" x="1" y="-45"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M0K2CpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0K2SpWEem2soT2TDjIcQ" y="-55"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M0K0SpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M0K0ipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M0K0ypWEem2soT2TDjIcQ" points="[0, 0, 36, 161]$[-36, -161, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M0K2ipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M0K2ypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M0K3CpWEem2soT2TDjIcQ" type="4001" element="_3MRYQypWEem2soT2TDjIcQ" source="_sCHVBCk6Eem-J7NZSmLltA" target="_sCHVCyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M0K4CpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0K4SpWEem2soT2TDjIcQ" x="-10" y="2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M0K4ipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0K4ypWEem2soT2TDjIcQ" x="-2" y="-38"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M0K5CpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0K5SpWEem2soT2TDjIcQ" x="-1" y="-40"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M0K3SpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M0K3ipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M0K3ypWEem2soT2TDjIcQ" points="[-54, -49, 30, 88]$[-54, -88, 30, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M0x4CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M0x4SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M0x4ipWEem2soT2TDjIcQ" type="4001" element="_3MR_VipWEem2soT2TDjIcQ" source="_sCDqqyk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M0x5ipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0x5ypWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M0x6CpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0x6SpWEem2soT2TDjIcQ" x="143" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M0x6ipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0x6ypWEem2soT2TDjIcQ" x="9" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M0x4ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M0x5CpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M0x5SpWEem2soT2TDjIcQ" points="[1, -49, 2144, 58]$[1, -141, 2144, -34]$[-2063, -141, 80, -34]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M0x7CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M0x7SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M0x7ipWEem2soT2TDjIcQ" type="4001" element="_3MSmYCpWEem2soT2TDjIcQ" source="_sCGG6yk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M0x8ipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M0x8ypWEem2soT2TDjIcQ" x="1" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M1Y8CpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M1Y8SpWEem2soT2TDjIcQ" x="112" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M1Y8ipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M1Y8ypWEem2soT2TDjIcQ" x="4" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M0x7ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M0x8CpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M0x8SpWEem2soT2TDjIcQ" points="[1, -49, 940, 66]$[1, -105, 940, 10]$[-859, -105, 80, 10]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M1Y9CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M1Y9SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M1Y9ipWEem2soT2TDjIcQ" type="4001" element="_3MSmZypWEem2soT2TDjIcQ" source="_sCERtCk6Eem-J7NZSmLltA" target="_sCGG8ik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M1Y-ipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M1Y-ypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M1Y_CpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M1Y_SpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M1Y_ipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M1Y_ypWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M1Y9ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M1Y-CpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M1Y-SpWEem2soT2TDjIcQ" points="[0, 0, 112, -174]$[-112, 174, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M1ZACpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M1ZASpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M2AACpWEem2soT2TDjIcQ" type="4001" element="_3MTNdipWEem2soT2TDjIcQ" source="_sCB1cyk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M2ABCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2ABSpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M2ABipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2ABypWEem2soT2TDjIcQ" x="122" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M2ACCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2ACSpWEem2soT2TDjIcQ" x="6" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M2AASpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M2AAipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M2AAypWEem2soT2TDjIcQ" points="[1, -49, 1764, 58]$[1, -117, 1764, -10]$[-1683, -117, 80, -10]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M2ACipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M2ACypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M2ADCpWEem2soT2TDjIcQ" type="4001" element="_3MT0hipWEem2soT2TDjIcQ" source="_sCB1jyk6Eem-J7NZSmLltA" target="_sCERwik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M2AECpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2AESpWEem2soT2TDjIcQ" x="-15" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M2AEipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2AEypWEem2soT2TDjIcQ" x="-59" y="-44"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M2nECpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2nESpWEem2soT2TDjIcQ" x="59" y="41"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M2ADSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M2ADipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M2ADypWEem2soT2TDjIcQ" points="[-34, -49, 271, 364]$[-34, -164, 271, 249]$[-235, -164, 70, 249]$[-235, -310, 70, 103]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M2nEipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M2nEypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M2nFCpWEem2soT2TDjIcQ" type="4001" element="_3MUbkypWEem2soT2TDjIcQ" source="_sCCciyk6Eem-J7NZSmLltA" target="_sCGG5Ck6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M2nGCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2nGSpWEem2soT2TDjIcQ" x="-19" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M2nGipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2nGypWEem2soT2TDjIcQ" x="30" y="-12"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M2nHCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M2nHSpWEem2soT2TDjIcQ" x="-29" y="8"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M2nFSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M2nFipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M2nFypWEem2soT2TDjIcQ" points="[-59, 3, 184, 28]$[-121, 3, 122, 28]$[-121, -29, 122, -4]$[-182, -29, 61, -4]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M3OICpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M3OISpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M3OIipWEem2soT2TDjIcQ" type="4001" element="_3MVCoCpWEem2soT2TDjIcQ" source="_sCJKMyk6Eem-J7NZSmLltA" target="_sCJKOik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M31MCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M31MSpWEem2soT2TDjIcQ" x="10" y="-3"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M4cQCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M4cQSpWEem2soT2TDjIcQ" x="-10" y="-42"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M4cQipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M4cQypWEem2soT2TDjIcQ" x="4" y="-53"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M3OIypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M3OJCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M3OJSpWEem2soT2TDjIcQ" points="[2, 49, 2, -160]$[2, 160, 2, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M4cRCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M4cRSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M4cRipWEem2soT2TDjIcQ" type="4001" element="_3MVpsCpWEem2soT2TDjIcQ" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCERuyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M4cSipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DUCpWEem2soT2TDjIcQ" x="-21" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5DUSpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DUipWEem2soT2TDjIcQ" x="-154" y="30"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5DUypWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DVCpWEem2soT2TDjIcQ" x="110" y="13"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M4cRypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M4cSCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M4cSSpWEem2soT2TDjIcQ" points="[85, -54, -769, 489]$[85, -445, -769, 98]$[765, -445, -89, 98]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5DVSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5DVipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M5DVypWEem2soT2TDjIcQ" type="4001" element="_3MVptypWEem2soT2TDjIcQ" source="_sCIjJik6Eem-J7NZSmLltA" target="_sCJxTik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M5DWypWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DXCpWEem2soT2TDjIcQ" x="-22" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5DXSpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DXipWEem2soT2TDjIcQ" x="226" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5DXypWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DYCpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M5DWCpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M5DWSpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M5DWipWEem2soT2TDjIcQ" points="[-39, 49, 1556, -200]$[-39, 255, 1556, 6]$[-1515, 255, 80, 6]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5DYSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5DYipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M5DYypWEem2soT2TDjIcQ" type="4001" element="_3MWQxipWEem2soT2TDjIcQ" source="_sCJxQCk6Eem-J7NZSmLltA" target="_sCJxTik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M5DZypWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DaCpWEem2soT2TDjIcQ" x="-10" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5DaSpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5DaipWEem2soT2TDjIcQ" x="127" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5qYCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qYSpWEem2soT2TDjIcQ" x="8" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M5DZCpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M5DZSpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M5DZipWEem2soT2TDjIcQ" points="[1, 49, 3278, -39]$[1, 130, 3278, 42]$[-3197, 130, 80, 42]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5qYipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5qYypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M5qZCpWEem2soT2TDjIcQ" type="4001" element="_3MW31ipWEem2soT2TDjIcQ" source="_sCDDsCk6Eem-J7NZSmLltA" target="_sCJxTik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M5qaCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qaSpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5qaipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qaypWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5qbCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qbSpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M5qZSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M5qZipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M5qZypWEem2soT2TDjIcQ" points="[0, 0, 384, -156]$[-384, 156, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5qbipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5qbypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M5qcCpWEem2soT2TDjIcQ" type="4001" element="_3MXe4CpWEem2soT2TDjIcQ" source="_sCDqpCk6Eem-J7NZSmLltA" target="_sCDqqyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M5qdCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qdSpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5qdipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qdypWEem2soT2TDjIcQ" x="1" y="-65"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M5qeCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M5qeSpWEem2soT2TDjIcQ" x="8" y="-64"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M5qcSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M5qcipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M5qcypWEem2soT2TDjIcQ" points="[0, 0, 44, 161]$[-44, -161, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5qeipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M5qeypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M5qfCpWEem2soT2TDjIcQ" type="4001" element="_3MXe5ypWEem2soT2TDjIcQ" source="_sCFf5Sk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M6RcCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RcSpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M6RcipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RcypWEem2soT2TDjIcQ" x="132" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M6RdCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RdSpWEem2soT2TDjIcQ" x="8" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M5qfSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M5qfipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M5qfypWEem2soT2TDjIcQ" points="[1, -49, 1940, 58]$[1, -129, 1940, -22]$[-1859, -129, 80, -22]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M6RdipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M6RdypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M6ReCpWEem2soT2TDjIcQ" type="4001" element="_3MYF9ipWEem2soT2TDjIcQ" source="_sCBOeSk6Eem-J7NZSmLltA" target="_sCB1cyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M6RfCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RfSpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M6RfipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RfypWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M6RgCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RgSpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M6ReSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M6ReipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M6ReypWEem2soT2TDjIcQ" points="[0, 0, 48, 161]$[-48, -161, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M6RgipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M6RgypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M6RhCpWEem2soT2TDjIcQ" type="4001" element="_3MYtAypWEem2soT2TDjIcQ" source="_sCCchCk6Eem-J7NZSmLltA" target="_sCKYUCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M6RiCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RiSpWEem2soT2TDjIcQ" x="10" y="-3"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M6RiipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RiypWEem2soT2TDjIcQ" x="1" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M6RjCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M6RjSpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M6RhSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M6RhipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M6RhypWEem2soT2TDjIcQ" points="[59, -9, -290, -13]$[269, -9, -80, -13]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M6RjipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M64gCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M64gSpWEem2soT2TDjIcQ" type="4001" element="_3MZUFipWEem2soT2TDjIcQ" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCKYVyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M64hSpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64hipWEem2soT2TDjIcQ" x="135" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M64hypWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64iCpWEem2soT2TDjIcQ" x="-103" y="-29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M64iSpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64iipWEem2soT2TDjIcQ" x="103" y="-59"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M64gipWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M64gypWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M64hCpWEem2soT2TDjIcQ" points="[29, -54, 287, 583]$[29, -423, 287, 214]$[-233, -423, 25, 214]$[-233, -574, 25, 63]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M64iypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M64jCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M64jSpWEem2soT2TDjIcQ" type="4001" element="_3MZ7JipWEem2soT2TDjIcQ" source="_sCB1eik6Eem-J7NZSmLltA" target="_sCHVCyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M64kSpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64kipWEem2soT2TDjIcQ" x="45" y="-2"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M64kypWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64lCpWEem2soT2TDjIcQ" x="-21" y="-43"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M64lSpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64lipWEem2soT2TDjIcQ" x="-2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M64jipWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M64jypWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M64kCpWEem2soT2TDjIcQ" points="[-34, -49, 243, 88]$[-34, -94, 243, 43]$[-218, -94, 59, 43]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M64lypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M64mCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M64mSpWEem2soT2TDjIcQ" type="4001" element="_3MaiNipWEem2soT2TDjIcQ" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCDDqSk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M64nSpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M64nipWEem2soT2TDjIcQ" x="-12" y="15"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M7fkCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fkSpWEem2soT2TDjIcQ" x="-6" y="-33"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M7fkipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fkypWEem2soT2TDjIcQ" x="1" y="-38"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M64mipWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M64mypWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M64nCpWEem2soT2TDjIcQ" points="[-59, -54, -15, 114]$[-59, -75, -15, 93]$[-79, -75, -35, 93]$[-79, -119, -35, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M7flCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M7flSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M7flipWEem2soT2TDjIcQ" type="4001" element="_3MbJQypWEem2soT2TDjIcQ" source="_sCGG6yk6Eem-J7NZSmLltA" target="_sCJxTik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M7fmipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fmypWEem2soT2TDjIcQ" x="-20" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M7fnCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fnSpWEem2soT2TDjIcQ" x="16" y="177"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M7fnipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fnypWEem2soT2TDjIcQ" x="-1" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M7flypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M7fmCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M7fmSpWEem2soT2TDjIcQ" points="[-43, 49, 960, -192]$[-43, 235, 960, -6]$[-923, 235, 80, -6]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M7foCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M7foSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M7foipWEem2soT2TDjIcQ" type="4001" element="_3MbwUCpWEem2soT2TDjIcQ" source="_sCCcmSk6Eem-J7NZSmLltA" target="_sCCcoCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M7fpipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fpypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M7fqCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fqSpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M7fqipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M7fqypWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M7foypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M7fpCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M7fpSpWEem2soT2TDjIcQ" points="[0, 0, 0, 144]$[0, -144, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M7frCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M7frSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M8GoCpWEem2soT2TDjIcQ" type="4001" element="_3MbwVypWEem2soT2TDjIcQ" source="_sCJxTik6Eem-J7NZSmLltA" target="_sCK_YCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M8GpCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GpSpWEem2soT2TDjIcQ" x="-17" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8GpipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GpypWEem2soT2TDjIcQ" x="-12" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8GqCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GqSpWEem2soT2TDjIcQ" x="-295" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M8GoSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M8GoipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M8GoypWEem2soT2TDjIcQ" points="[80, 30, -2323, 296]$[2404, 30, 1, 296]$[2404, -217, 1, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8GqipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8GqypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M8GrCpWEem2soT2TDjIcQ" type="4001" element="_3McXZipWEem2soT2TDjIcQ" source="_sCJKOik6Eem-J7NZSmLltA" target="_sCJxTik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M8GsCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GsSpWEem2soT2TDjIcQ" x="10" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8GsipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GsypWEem2soT2TDjIcQ" x="154" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8GtCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GtSpWEem2soT2TDjIcQ" x="12" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M8GrSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M8GripWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M8GrypWEem2soT2TDjIcQ" points="[1, 49, 3552, -39]$[1, 142, 3552, 54]$[-3471, 142, 80, 54]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8GtipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8GtypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M8GuCpWEem2soT2TDjIcQ" type="4001" element="_3Mc-dipWEem2soT2TDjIcQ" source="_sCDDoik6Eem-J7NZSmLltA" target="_sCK_bik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M8GvCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GvSpWEem2soT2TDjIcQ" x="11" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8GvipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GvypWEem2soT2TDjIcQ" x="-101" y="29"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8GwCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8GwSpWEem2soT2TDjIcQ" x="117" y="53"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M8GuSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M8GuipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M8GuypWEem2soT2TDjIcQ" points="[49, -54, -498, 543]$[49, -285, -498, 312]$[453, -285, -94, 312]$[453, -494, -94, 103]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8tsCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8tsSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M8tsipWEem2soT2TDjIcQ" type="4001" element="_3MdlgSpWEem2soT2TDjIcQ" source="_sCDqpCk6Eem-J7NZSmLltA" target="_sCK_YCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M8ttipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8ttypWEem2soT2TDjIcQ" x="-13" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8tuCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8tuSpWEem2soT2TDjIcQ" x="-10" y="61"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8tuipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8tuypWEem2soT2TDjIcQ" x="7" y="-29"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M8tsypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M8ttCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M8ttSpWEem2soT2TDjIcQ" points="[48, -49, -104, 129]$[48, -77, -104, 101]$[103, -77, -49, 101]$[103, -129, -49, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8tvCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8tvSpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M8tvipWEem2soT2TDjIcQ" type="4001" element="_3MdliCpWEem2soT2TDjIcQ" source="_sCFf3ik6Eem-J7NZSmLltA" target="_sCGuAik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M8twipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8twypWEem2soT2TDjIcQ" x="110" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8txCpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8txSpWEem2soT2TDjIcQ" x="-88" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M8txipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M8txypWEem2soT2TDjIcQ" x="99" y="33"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M8tvypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M8twCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M8twSpWEem2soT2TDjIcQ" points="[48, -49, 202, 602]$[48, -406, 202, 245]$[-143, -406, 11, 245]$[-143, -602, 11, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8tyCpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M8tySpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M8tyipWEem2soT2TDjIcQ" type="4001" element="_3MeMlipWEem2soT2TDjIcQ" source="_sCCcoCk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M9UwCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M9UwSpWEem2soT2TDjIcQ" x="2" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M9UwipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M9UwypWEem2soT2TDjIcQ" x="105" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M9UxCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M9UxSpWEem2soT2TDjIcQ" x="2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M8tyypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M8tzCpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M8tzSpWEem2soT2TDjIcQ" points="[1, -49, 715, 66]$[1, -97, 715, 18]$[-634, -97, 80, 18]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M9UxipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M9UxypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M9UyCpWEem2soT2TDjIcQ" type="4001" element="_3MezpipWEem2soT2TDjIcQ" source="_sCDDqSk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M9UzCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M9UzSpWEem2soT2TDjIcQ" x="-16" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M9UzipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M9UzypWEem2soT2TDjIcQ" x="142" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M9U0CpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M9U0SpWEem2soT2TDjIcQ" x="6" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M9UySpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M9UyipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M9UyypWEem2soT2TDjIcQ" points="[1, -49, 2512, 50]$[1, -145, 2512, -46]$[-2431, -145, 80, -46]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M970CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M970SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M970ipWEem2soT2TDjIcQ" type="4001" element="_3MfasypWEem2soT2TDjIcQ" source="_sCFf0Ck6Eem-J7NZSmLltA" target="_sCH8Gyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M971ipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M971ypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M972CpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M972SpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M972ipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M972ypWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M970ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M971CpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M971SpWEem2soT2TDjIcQ" points="[0, 0, 403, 8]$[-403, -8, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M973CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M973SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M973ipWEem2soT2TDjIcQ" type="4001" element="_3MgBwCpWEem2soT2TDjIcQ" source="_sCAnUCk6Eem-J7NZSmLltA" target="_sCKYUCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M974ipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M974ypWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M975CpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M975SpWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M-i4CpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M-i4SpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M973ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M974CpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M974SpWEem2soT2TDjIcQ" points="[-80, -8, 272, -8]$[-272, -8, 80, -8]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M-i4ipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M-i4ypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M-i5CpWEem2soT2TDjIcQ" type="4001" element="_3MgBxypWEem2soT2TDjIcQ" source="_sCB1cyk6Eem-J7NZSmLltA" target="_sCJxTik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M-i6CpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M-i6SpWEem2soT2TDjIcQ" x="-7" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M-i6ipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M-i6ypWEem2soT2TDjIcQ" x="244" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M-i7CpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M-i7SpWEem2soT2TDjIcQ" x="2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M-i5SpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M-i5ipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M-i5ypWEem2soT2TDjIcQ" points="[-31, 49, 1796, -200]$[-31, 267, 1796, 18]$[-1747, 267, 80, 18]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_J8CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_J8SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M_J8ipWEem2soT2TDjIcQ" type="4001" element="_3Mgo1ipWEem2soT2TDjIcQ" source="_sCCciyk6Eem-J7NZSmLltA" target="_sCE4wCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M_J9ipWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_J9ypWEem2soT2TDjIcQ" x="-7" y="-16"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M_J-CpWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_J-SpWEem2soT2TDjIcQ" x="-6" y="-57"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M_J-ipWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_J-ypWEem2soT2TDjIcQ" x="13" y="-55"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M_J8ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M_J9CpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M_J9SpWEem2soT2TDjIcQ" points="[-40, -49, 72, 128]$[-40, -108, 72, 69]$[-73, -108, 39, 69]$[-73, -128, 39, 49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_J_CpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_J_SpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M_J_ipWEem2soT2TDjIcQ" type="4001" element="_3MhP5ipWEem2soT2TDjIcQ" source="_sCGG5Ck6Eem-J7NZSmLltA" target="_sCGG6yk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M_xACpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_xASpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M_xAipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_xAypWEem2soT2TDjIcQ" x="2" y="57"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M_xBCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_xBSpWEem2soT2TDjIcQ" x="-3" y="72"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M_J_ypWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M_KACpWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M_KASpWEem2soT2TDjIcQ" points="[0, 0, 48, 144]$[-48, -144, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_xBipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_xBypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M_xCCpWEem2soT2TDjIcQ" type="4001" element="_3Mh28CpWEem2soT2TDjIcQ" source="_sCDqsik6Eem-J7NZSmLltA" target="_sCERtCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3M_xDCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_xDSpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M_xDipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_xDypWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3M_xECpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3M_xESpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M_xCSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M_xCipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M_xCypWEem2soT2TDjIcQ" points="[0, 0, -324, -204]$[324, 204, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_xEipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3M_xEypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3M_xFCpWEem2soT2TDjIcQ" type="4001" element="_3Mh29ypWEem2soT2TDjIcQ" source="_sCBOcik6Eem-J7NZSmLltA" target="_sCCciyk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3NAYECpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYESpWEem2soT2TDjIcQ" y="-9"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3NAYEipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYEypWEem2soT2TDjIcQ" x="-3" y="-36"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3NAYFCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYFSpWEem2soT2TDjIcQ" x="4" y="-60"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3M_xFSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3M_xFipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3M_xFypWEem2soT2TDjIcQ" points="[-24, 49, 42, -128]$[-24, 69, 42, -108]$[-43, 69, 23, -108]$[-43, 128, 23, -49]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3NAYFipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3NAYFypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3NAYGCpWEem2soT2TDjIcQ" type="4001" element="_3MieBipWEem2soT2TDjIcQ" source="_sCDDsCk6Eem-J7NZSmLltA" target="_sCH8FCk6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3NAYHCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYHSpWEem2soT2TDjIcQ" x="-6" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3NAYHipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYHypWEem2soT2TDjIcQ" x="-2" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3NAYICpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYISpWEem2soT2TDjIcQ" x="2" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3NAYGSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3NAYGipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3NAYGypWEem2soT2TDjIcQ" points="[-59, -35, 240, 152]$[-139, -35, 160, 152]$[-139, -140, 160, 47]$[-219, -140, 80, 47]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3NAYIipWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3NAYIypWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + <edges xmi:type="notation:Edge" xmi:id="_3NAYJCpWEem2soT2TDjIcQ" type="4001" element="_3MjFEypWEem2soT2TDjIcQ" source="_sCERtCk6Eem-J7NZSmLltA" target="_sCHVEik6Eem-J7NZSmLltA"> + <children xmi:type="notation:Node" xmi:id="_3NAYKCpWEem2soT2TDjIcQ" type="6001"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYKSpWEem2soT2TDjIcQ" y="-10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3NAYKipWEem2soT2TDjIcQ" type="6002"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYKypWEem2soT2TDjIcQ" y="10"/> + </children> + <children xmi:type="notation:Node" xmi:id="_3NAYLCpWEem2soT2TDjIcQ" type="6003"> + <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3NAYLSpWEem2soT2TDjIcQ" y="10"/> + </children> + <styles xmi:type="notation:ConnectorStyle" xmi:id="_3NAYJSpWEem2soT2TDjIcQ" routing="Rectilinear"/> + <styles xmi:type="notation:FontStyle" xmi:id="_3NAYJipWEem2soT2TDjIcQ" fontName=".AppleSystemUIFont" fontHeight="8"/> + <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3NAYJypWEem2soT2TDjIcQ" points="[0, 0, -100, -180]$[100, 180, 0, 0]"/> + <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3NA_ICpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3NA_ISpWEem2soT2TDjIcQ" id="(0.5,0.5)"/> + </edges> + </data> + </ownedAnnotationEntries> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_OZECk6Eem-J7NZSmLltA" name="AppliesToType" tooltipText="" outgoingEdges="_sBzL8Ck6Eem-J7NZSmLltA _3MgBwCpWEem2soT2TDjIcQ" width="12" height="10"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_r_Q1UCk6Eem-J7NZSmLltA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> + <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAXolyk6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/id"/> + <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/id"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LTH4SpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAY2sCk6Eem-J7NZSmLltA" name="publicationStage : PubStage = IS" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/publicationStage"/> + <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/publicationStage"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_sAY2sSk6Eem-J7NZSmLltA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAY2sik6Eem-J7NZSmLltA" name="revision : EString = A" tooltipText=""> + <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/revision"/> + <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AppliesToType/revision"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_sAY2syk6Eem-J7NZSmLltA" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> + </ownedElements> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_Sqgik6Eem-J7NZSmLltA" name="DocumentRoot" tooltipText="" outgoingEdges="_sBaKYCk6Eem-J7NZSmLltA _sBbYhik6Eem-J7NZSmLltA _sBb_lik6Eem-J7NZSmLltA _sBcmpik6Eem-J7NZSmLltA" width="12" height="10"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//DocumentRoot"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DocumentRoot"/> + <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> + <arrangeConstraints>KEEP_SIZE</arrangeConstraints> + <arrangeConstraints>KEEP_RATIO</arrangeConstraints> + <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_r_T4oCk6Eem-J7NZSmLltA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> @@ -2434,7 +2333,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_UfsCk6Eem-J7NZSmLltA" name="ServiceType" tooltipText="" incomingEdges="_sBeb1yk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_UfsCk6Eem-J7NZSmLltA" name="ServiceType" tooltipText="" outgoingEdges="_3Mh29ypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceType"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceType"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2447,13 +2346,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAbS8yk6Eem-J7NZSmLltA" name="name : ACSIServicesKind = Associate" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceType/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceType/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAbS9Ck6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LUWAypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_VGwSk6Eem-J7NZSmLltA" name="Abbreviation" tooltipText="" incomingEdges="_sBdNsCk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_VGwSk6Eem-J7NZSmLltA" name="Abbreviation" tooltipText="" outgoingEdges="_3MYF9ipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Abbreviation"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Abbreviation"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2474,13 +2373,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAb6Aik6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//Abbreviation/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//Abbreviation/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAchECk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LVkISpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_Vt0ik6Eem-J7NZSmLltA" name="Abbreviations" tooltipText="" outgoingEdges="_sBdNsCk6Eem-J7NZSmLltA" incomingEdges="_sBm-tik6Eem-J7NZSmLltA _sBseRyk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_Vt0ik6Eem-J7NZSmLltA" name="Abbreviations" tooltipText="" outgoingEdges="_3MTNdipWEem2soT2TDjIcQ _3MgBxypWEem2soT2TDjIcQ" incomingEdges="_3MYF9ipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Abbreviations"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Abbreviations"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2491,7 +2390,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_W78Ck6Eem-J7NZSmLltA" name="AbstractLNClass" tooltipText="" outgoingEdges="_sB0aEyk6Eem-J7NZSmLltA" incomingEdges="_sBkidik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_W78Ck6Eem-J7NZSmLltA" name="AbstractLNClass" tooltipText="" outgoingEdges="_sB0aEyk6Eem-J7NZSmLltA _3MZ7JipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//AbstractLNClass"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AbstractLNClass"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2504,13 +2403,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAchESk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//AbstractLNClass/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//AbstractLNClass/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAdIICk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LWLMSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_YxISk6Eem-J7NZSmLltA" name="AnyLNClass" tooltipText="" outgoingEdges="_sBdNuik6Eem-J7NZSmLltA _sB0aGik6Eem-J7NZSmLltA" incomingEdges="_sB0aEyk6Eem-J7NZSmLltA _sB2PSik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_YxISk6Eem-J7NZSmLltA" name="AnyLNClass" tooltipText="" outgoingEdges="_sB0aGik6Eem-J7NZSmLltA _3MT0hipWEem2soT2TDjIcQ" incomingEdges="_sB0aEyk6Eem-J7NZSmLltA _sB2PSik6Eem-J7NZSmLltA" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//AnyLNClass"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AnyLNClass"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2530,7 +2429,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_Z_QCk6Eem-J7NZSmLltA" name="ApplicableServiceNS" tooltipText="" outgoingEdges="_sBeb0Ck6Eem-J7NZSmLltA _sB0aISk6Eem-J7NZSmLltA" incomingEdges="_sBaKYCk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_Z_QCk6Eem-J7NZSmLltA" name="ApplicableServiceNS" tooltipText="" outgoingEdges="_sB0aISk6Eem-J7NZSmLltA _3MYtAypWEem2soT2TDjIcQ" incomingEdges="_sBaKYCk6Eem-J7NZSmLltA" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServiceNS"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServiceNS"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2543,21 +2442,21 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAdvMSk6Eem-J7NZSmLltA" name="date : DateTime" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ApplicableServiceNS/date"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ApplicableServiceNS/date"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAeWQCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LXZUSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAeWQSk6Eem-J7NZSmLltA" name="version : UnsignedInt" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ApplicableServiceNS/version"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ApplicableServiceNS/version"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAeWQik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LXZUypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_bNYCk6Eem-J7NZSmLltA" name="ApplicableServices" tooltipText="" outgoingEdges="_sBeb1yk6Eem-J7NZSmLltA _sBfC5ik6Eem-J7NZSmLltA" incomingEdges="_sBj7Yyk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_bNYCk6Eem-J7NZSmLltA" name="ApplicableServices" tooltipText="" outgoingEdges="_3MUbkypWEem2soT2TDjIcQ _3Mgo1ipWEem2soT2TDjIcQ" incomingEdges="_3Mh29ypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServices"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServices"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2568,7 +2467,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_cbgSk6Eem-J7NZSmLltA" name="BasicType" tooltipText="" incomingEdges="_sBfC7Sk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_cbgSk6Eem-J7NZSmLltA" name="BasicType" tooltipText="" outgoingEdges="_3MbwUCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//BasicType"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//BasicType"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2589,13 +2488,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAfkYSk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//BasicType/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//BasicType/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAfkYik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LYncipWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_dpoCk6Eem-J7NZSmLltA" name="BasicTypes" tooltipText="" outgoingEdges="_sBfC7Sk6Eem-J7NZSmLltA" incomingEdges="_sBlwmik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_dpoCk6Eem-J7NZSmLltA" name="BasicTypes" tooltipText="" outgoingEdges="_3MeMlipWEem2soT2TDjIcQ" incomingEdges="_3MbwUCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//BasicTypes"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//BasicTypes"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2606,7 +2505,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_fe0Ck6Eem-J7NZSmLltA" name="CDC" tooltipText="" outgoingEdges="_sBfp9ik6Eem-J7NZSmLltA _sBgRBik6Eem-J7NZSmLltA _sBgRDSk6Eem-J7NZSmLltA _sB1BJik6Eem-J7NZSmLltA" incomingEdges="_sBg4Fik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_fe0Ck6Eem-J7NZSmLltA" name="CDC" tooltipText="" outgoingEdges="_sB1BJik6Eem-J7NZSmLltA _3MVpsCpWEem2soT2TDjIcQ _3MZUFipWEem2soT2TDjIcQ _3MaiNipWEem2soT2TDjIcQ _3Mc-dipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//CDC"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//CDC"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2627,8 +2526,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAgygCk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//CDC/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//CDC/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAgygSk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LZ1kSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -2657,7 +2556,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_gs8ik6Eem-J7NZSmLltA" name="CDCs" tooltipText="" outgoingEdges="_sBg4Fik6Eem-J7NZSmLltA" incomingEdges="_sBoM1ik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_gs8ik6Eem-J7NZSmLltA" name="CDCs" tooltipText="" outgoingEdges="_3MezpipWEem2soT2TDjIcQ" incomingEdges="_3MaiNipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//CDCs"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//CDCs"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2668,7 +2567,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_h7ESk6Eem-J7NZSmLltA" name="Changes" tooltipText="" outgoingEdges="_sB1BLSk6Eem-J7NZSmLltA" incomingEdges="_sBlJhik6Eem-J7NZSmLltA _sBrQKik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_h7ESk6Eem-J7NZSmLltA" name="Changes" tooltipText="" outgoingEdges="_sB1BLSk6Eem-J7NZSmLltA _3MW31ipWEem2soT2TDjIcQ _3MieBipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Changes"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Changes"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2711,7 +2610,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_jJMSk6Eem-J7NZSmLltA" name="ConstructedAttribute" tooltipText="" outgoingEdges="_sBhfJik6Eem-J7NZSmLltA _sB1BNCk6Eem-J7NZSmLltA" incomingEdges="_sBhfLSk6Eem-J7NZSmLltA _sBu6hik6Eem-J7NZSmLltA _sB22ZCk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_jJMSk6Eem-J7NZSmLltA" name="ConstructedAttribute" tooltipText="" outgoingEdges="_sB1BNCk6Eem-J7NZSmLltA _3MO8CSpWEem2soT2TDjIcQ _3MXe4CpWEem2soT2TDjIcQ _3MdlgSpWEem2soT2TDjIcQ" incomingEdges="_sB22ZCk6Eem-J7NZSmLltA" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttribute"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttribute"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2724,13 +2623,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAjOwSk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ConstructedAttribute/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ConstructedAttribute/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAjOwik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LbqwipWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_jwQik6Eem-J7NZSmLltA" name="ConstructedAttributes" tooltipText="" outgoingEdges="_sBhfLSk6Eem-J7NZSmLltA" incomingEdges="_sBnlzSk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_jwQik6Eem-J7NZSmLltA" name="ConstructedAttributes" tooltipText="" outgoingEdges="_3MR_VipWEem2soT2TDjIcQ" incomingEdges="_3MXe4CpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttributes"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttributes"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2741,7 +2640,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_kXUik6Eem-J7NZSmLltA" name="Copyrighted" tooltipText="" outgoingEdges="_sBd0ySk6Eem-J7NZSmLltA" incomingEdges="_sB0aISk6Eem-J7NZSmLltA _sB2PUSk6Eem-J7NZSmLltA _sB22Vik6Eem-J7NZSmLltA _sB3dbSk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_kXUik6Eem-J7NZSmLltA" name="Copyrighted" tooltipText="" outgoingEdges="_3Mh28CpWEem2soT2TDjIcQ" incomingEdges="_sB0aISk6Eem-J7NZSmLltA _sB2PUSk6Eem-J7NZSmLltA _sB22Vik6Eem-J7NZSmLltA _sB3dbSk6Eem-J7NZSmLltA" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Copyrighted"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Copyrighted"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2752,7 +2651,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_k-Yik6Eem-J7NZSmLltA" name="CopyrightNotice" tooltipText="" outgoingEdges="_sBiGNik6Eem-J7NZSmLltA _sBitRik6Eem-J7NZSmLltA" incomingEdges="_sBaxeSk6Eem-J7NZSmLltA _sBd0ySk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_k-Yik6Eem-J7NZSmLltA" name="CopyrightNotice" tooltipText="" outgoingEdges="_3MSmZypWEem2soT2TDjIcQ _3MjFEypWEem2soT2TDjIcQ" incomingEdges="_3Mh28CpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//CopyrightNotice"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//CopyrightNotice"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2763,7 +2662,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_mMgCk6Eem-J7NZSmLltA" name="DataAttribute" tooltipText="" outgoingEdges="_sB1oNik6Eem-J7NZSmLltA" incomingEdges="_sBgRBik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_mMgCk6Eem-J7NZSmLltA" name="DataAttribute" tooltipText="" outgoingEdges="_sB1oNik6Eem-J7NZSmLltA" incomingEdges="_3MVpsCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//DataAttribute"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataAttribute"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2800,8 +2699,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAlD8Ck6Eem-J7NZSmLltA" name="fc : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DataAttribute/fc"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DataAttribute/fc"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAlD8Sk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Ldf8ipWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -2848,8 +2747,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAmSEyk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DataAttribute/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DataAttribute/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAm5ICk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LeHAypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -2910,7 +2809,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_oowSk6Eem-J7NZSmLltA" name="DataObject" tooltipText="" outgoingEdges="_sB1oPSk6Eem-J7NZSmLltA" incomingEdges="_sBdNuik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_oowSk6Eem-J7NZSmLltA" name="DataObject" tooltipText="" outgoingEdges="_sB1oPSk6Eem-J7NZSmLltA" incomingEdges="_3MT0hipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//DataObject"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataObject"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -2947,8 +2846,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sApVYyk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DataObject/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DataObject/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAp8cCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Lf8NCpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -2987,8 +2886,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sArKkCk6Eem-J7NZSmLltA" name="type : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DataObject/type"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DataObject/type"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sArKkSk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LgjRSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3009,7 +2908,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_qd8Ck6Eem-J7NZSmLltA" name="DataSetMemberOf" tooltipText="" incomingEdges="_sBfC5ik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_qd8Ck6Eem-J7NZSmLltA" name="DataSetMemberOf" tooltipText="" incomingEdges="_3Mgo1ipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//DataSetMemberOf"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataSetMemberOf"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3022,13 +2921,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sArxoSk6Eem-J7NZSmLltA" name="cb : CBKind = RCB" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//DataSetMemberOf/cb"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//DataSetMemberOf/cb"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAsYsCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_R5-fFCpZEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_rsEik6Eem-J7NZSmLltA" name="Doc" tooltipText="" incomingEdges="_sBpa8Ck6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_rsEik6Eem-J7NZSmLltA" name="Doc" tooltipText="" outgoingEdges="_3MfasypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Doc"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Doc"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3061,8 +2960,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAtm0Ck6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//Doc/id"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//Doc/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAtm0Sk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Li_gypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3102,7 +3001,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_thQik6Eem-J7NZSmLltA" name="Enumeration" tooltipText="" outgoingEdges="_sBitTSk6Eem-J7NZSmLltA _sB1oRCk6Eem-J7NZSmLltA" incomingEdges="_sBjUVik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_thQik6Eem-J7NZSmLltA" name="Enumeration" tooltipText="" outgoingEdges="_sB1oRCk6Eem-J7NZSmLltA _3MQxNipWEem2soT2TDjIcQ _3MdliCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Enumeration"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Enumeration"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3123,13 +3022,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAvcASk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//Enumeration/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//Enumeration/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAvcAik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Lk0sSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_uvYik6Eem-J7NZSmLltA" name="Enumerations" tooltipText="" outgoingEdges="_sBjUVik6Eem-J7NZSmLltA" incomingEdges="_sBnlxik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_uvYik6Eem-J7NZSmLltA" name="Enumerations" tooltipText="" outgoingEdges="_3MXe5ypWEem2soT2TDjIcQ" incomingEdges="_3MQxNipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Enumerations"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Enumerations"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3140,7 +3039,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_vWcik6Eem-J7NZSmLltA" name="FunctionalConstraint" tooltipText="" outgoingEdges="_sBj7Yyk6Eem-J7NZSmLltA" incomingEdges="_sBj7aik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_vWcik6Eem-J7NZSmLltA" name="FunctionalConstraint" tooltipText="" outgoingEdges="_3MhP5ipWEem2soT2TDjIcQ" incomingEdges="_3MUbkypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//FunctionalConstraint"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//FunctionalConstraint"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3153,8 +3052,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAwDECk6Eem-J7NZSmLltA" name="abbreviation : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//FunctionalConstraint/abbreviation"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//FunctionalConstraint/abbreviation"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAwDESk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_R6A7USpZEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3175,7 +3074,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_xLoCk6Eem-J7NZSmLltA" name="FunctionalConstraints" tooltipText="" outgoingEdges="_sBj7aik6Eem-J7NZSmLltA" incomingEdges="_sBmXoCk6Eem-J7NZSmLltA _sBr3Nik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_xLoCk6Eem-J7NZSmLltA" name="FunctionalConstraints" tooltipText="" outgoingEdges="_3MSmYCpWEem2soT2TDjIcQ _3MbJQypWEem2soT2TDjIcQ" incomingEdges="_3MhP5ipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//FunctionalConstraints"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//FunctionalConstraints"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3186,7 +3085,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_xysCk6Eem-J7NZSmLltA" name="License" tooltipText="" incomingEdges="_sBitRik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_xysCk6Eem-J7NZSmLltA" name="License" tooltipText="" incomingEdges="_3MSmZypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//License"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//License"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3221,7 +3120,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_zn4Sk6Eem-J7NZSmLltA" name="Literal" tooltipText="" outgoingEdges="_sB2PQyk6Eem-J7NZSmLltA" incomingEdges="_sBitTSk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_zn4Sk6Eem-J7NZSmLltA" name="Literal" tooltipText="" outgoingEdges="_sB2PQyk6Eem-J7NZSmLltA" incomingEdges="_3MdliCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Literal"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Literal"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3234,21 +3133,21 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAyfUik6Eem-J7NZSmLltA" name="literalVal : Int" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//Literal/literalVal"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//Literal/literalVal"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAzGYCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LnQ8SpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> <ownedElements xmi:type="diagram:DNodeListElement" uid="_sAzGYSk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//Literal/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//Literal/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sAzGYik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LnQ8ypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_0O8ik6Eem-J7NZSmLltA" name="LNClass" tooltipText="" outgoingEdges="_sB2PSik6Eem-J7NZSmLltA" incomingEdges="_sBkifSk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_0O8ik6Eem-J7NZSmLltA" name="LNClass" tooltipText="" outgoingEdges="_sB2PSik6Eem-J7NZSmLltA _3MRYQypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//LNClass"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//LNClass"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3277,13 +3176,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA0UgCk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//LNClass/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//LNClass/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA0UgSk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Ln4AypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_1dECk6Eem-J7NZSmLltA" name="LNClasses" tooltipText="" outgoingEdges="_sBkidik6Eem-J7NZSmLltA _sBkifSk6Eem-J7NZSmLltA" incomingEdges="_sBoz5ik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_1dECk6Eem-J7NZSmLltA" name="LNClasses" tooltipText="" outgoingEdges="_3MNG0CpWEem2soT2TDjIcQ" incomingEdges="_3MRYQypWEem2soT2TDjIcQ _3MZ7JipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//LNClasses"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//LNClasses"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3294,7 +3193,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_2EIik6Eem-J7NZSmLltA" name="Notice" tooltipText="" incomingEdges="_sBiGNik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_2EIik6Eem-J7NZSmLltA" name="Notice" tooltipText="" incomingEdges="_3MjFEypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//Notice"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Notice"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3313,7 +3212,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_2rMik6Eem-J7NZSmLltA" name="NS" tooltipText="" outgoingEdges="_sBlJhik6Eem-J7NZSmLltA _sBlwkyk6Eem-J7NZSmLltA _sBlwmik6Eem-J7NZSmLltA _sBmXoCk6Eem-J7NZSmLltA _sBmXpyk6Eem-J7NZSmLltA _sBm-tik6Eem-J7NZSmLltA _sBnlxik6Eem-J7NZSmLltA _sBnlzSk6Eem-J7NZSmLltA _sBoM1ik6Eem-J7NZSmLltA _sBoz5ik6Eem-J7NZSmLltA _sB2PUSk6Eem-J7NZSmLltA _sB2PWCk6Eem-J7NZSmLltA" incomingEdges="_sBbYhik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_2rMik6Eem-J7NZSmLltA" name="NS" tooltipText="" outgoingEdges="_sB2PUSk6Eem-J7NZSmLltA _sB2PWCk6Eem-J7NZSmLltA _3MPjFipWEem2soT2TDjIcQ" incomingEdges="_sBbYhik6Eem-J7NZSmLltA _3MNG0CpWEem2soT2TDjIcQ _3MR_VipWEem2soT2TDjIcQ _3MSmYCpWEem2soT2TDjIcQ _3MTNdipWEem2soT2TDjIcQ _3MXe5ypWEem2soT2TDjIcQ _3MeMlipWEem2soT2TDjIcQ _3MezpipWEem2soT2TDjIcQ _3MieBipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//NS"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//NS"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3334,8 +3233,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA1ioSk6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//NS/id"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//NS/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA2JsCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LpGIipWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3371,8 +3270,16 @@ </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> + <ownedElements xmi:type="diagram:DNodeListElement" uid="_3LqUQCpWEem2soT2TDjIcQ" name=" dependsOn : DependsOn" tooltipText=""> + <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/dependsOn"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/dependsOn"/> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LriYCpWEem2soT2TDjIcQ" labelAlignment="LEFT" color="114,159,207"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']/@style"/> + </ownedStyle> + <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EReferenceNode']"/> + </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_5HcCk6Eem-J7NZSmLltA" name="NSDoc" tooltipText="" outgoingEdges="_sBpa8Ck6Eem-J7NZSmLltA _sB22Vik6Eem-J7NZSmLltA _sB22XSk6Eem-J7NZSmLltA" incomingEdges="_sBb_lik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_5HcCk6Eem-J7NZSmLltA" name="NSDoc" tooltipText="" outgoingEdges="_sB22Vik6Eem-J7NZSmLltA _sB22XSk6Eem-J7NZSmLltA" incomingEdges="_sBb_lik6Eem-J7NZSmLltA _3MfasypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//NSDoc"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//NSDoc"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3385,16 +3292,16 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA3X0ik6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//NSDoc/id"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//NSDoc/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA3-4Ck6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LsJcSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA3-4Sk6Eem-J7NZSmLltA" name="lang : Language" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//NSDoc/lang"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//NSDoc/lang"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA4l8Ck6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LsJcypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3431,7 +3338,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_5ugik6Eem-J7NZSmLltA" name="PresenceCondition" tooltipText="" incomingEdges="_sBpa9yk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_5ugik6Eem-J7NZSmLltA" name="PresenceCondition" tooltipText="" outgoingEdges="_3MNt6SpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//PresenceCondition"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//PresenceCondition"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3460,8 +3367,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA6bIik6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//PresenceCondition/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//PresenceCondition/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA7CMCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LtXkypWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3474,7 +3381,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_68oSk6Eem-J7NZSmLltA" name="PresenceConditions" tooltipText="" outgoingEdges="_sBpa9yk6Eem-J7NZSmLltA" incomingEdges="_sBmXpyk6Eem-J7NZSmLltA _sBseQCk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_68oSk6Eem-J7NZSmLltA" name="PresenceConditions" tooltipText="" outgoingEdges="_3MVptypWEem2soT2TDjIcQ" incomingEdges="_3MNt6SpWEem2soT2TDjIcQ _3MPjFipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//PresenceConditions"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//PresenceConditions"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3485,7 +3392,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_8KxCk6Eem-J7NZSmLltA" name="ServiceCDC" tooltipText="" outgoingEdges="_sBqCBik6Eem-J7NZSmLltA" incomingEdges="_sBqpFik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_8KxCk6Eem-J7NZSmLltA" name="ServiceCDC" tooltipText="" outgoingEdges="_3MOU9ipWEem2soT2TDjIcQ _3MVCoCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceCDC"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceCDC"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3512,7 +3419,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_9Y4Ck6Eem-J7NZSmLltA" name="ServiceCDCs" tooltipText="" outgoingEdges="_sBqpFik6Eem-J7NZSmLltA" incomingEdges="_sBtsbSk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_9Y4Ck6Eem-J7NZSmLltA" name="ServiceCDCs" tooltipText="" outgoingEdges="_3McXZipWEem2soT2TDjIcQ" incomingEdges="_3MVCoCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceCDCs"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceCDCs"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3523,7 +3430,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_9_8Ck6Eem-J7NZSmLltA" name="ServiceConstructedAttribute" tooltipText="" outgoingEdges="_sB22ZCk6Eem-J7NZSmLltA" incomingEdges="_sBrQIyk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_9_8Ck6Eem-J7NZSmLltA" name="ServiceConstructedAttribute" tooltipText="" outgoingEdges="_sB22ZCk6Eem-J7NZSmLltA _3MQKJipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceConstructedAttribute"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceConstructedAttribute"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3542,7 +3449,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_-nASk6Eem-J7NZSmLltA" name="ServiceConstructedAttributes" tooltipText="" outgoingEdges="_sBrQIyk6Eem-J7NZSmLltA" incomingEdges="_sBtsZik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r_-nASk6Eem-J7NZSmLltA" name="ServiceConstructedAttributes" tooltipText="" outgoingEdges="_3MWQxipWEem2soT2TDjIcQ" incomingEdges="_3MQKJipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceConstructedAttributes"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceConstructedAttributes"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3553,7 +3460,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r__OESk6Eem-J7NZSmLltA" name="ServiceDataAttribute" tooltipText="" outgoingEdges="_sB3dZik6Eem-J7NZSmLltA" incomingEdges="_sBqCBik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_r__OESk6Eem-J7NZSmLltA" name="ServiceDataAttribute" tooltipText="" outgoingEdges="_sB3dZik6Eem-J7NZSmLltA" incomingEdges="_3MOU9ipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceDataAttribute"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceDataAttribute"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3566,16 +3473,16 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA83YCk6Eem-J7NZSmLltA" name="fc : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceDataAttribute/fc"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceDataAttribute/fc"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA83YSk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Lvz0SpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA83Yik6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceDataAttribute/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceDataAttribute/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA9ecCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Lwa4SpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3636,7 +3543,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAAcMSk6Eem-J7NZSmLltA" name="ServiceNS" tooltipText="" outgoingEdges="_sBrQKik6Eem-J7NZSmLltA _sBr3Nik6Eem-J7NZSmLltA _sBseQCk6Eem-J7NZSmLltA _sBseRyk6Eem-J7NZSmLltA _sBtFVik6Eem-J7NZSmLltA _sBtsZik6Eem-J7NZSmLltA _sBtsbSk6Eem-J7NZSmLltA _sB3dbSk6Eem-J7NZSmLltA _sB3ddCk6Eem-J7NZSmLltA" incomingEdges="_sBcmpik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAAcMSk6Eem-J7NZSmLltA" name="ServiceNS" tooltipText="" outgoingEdges="_sB3dbSk6Eem-J7NZSmLltA _sB3ddCk6Eem-J7NZSmLltA _3MbwVypWEem2soT2TDjIcQ" incomingEdges="_sBcmpik6Eem-J7NZSmLltA _3MVptypWEem2soT2TDjIcQ _3MWQxipWEem2soT2TDjIcQ _3MW31ipWEem2soT2TDjIcQ _3MbJQypWEem2soT2TDjIcQ _3McXZipWEem2soT2TDjIcQ _3MgBxypWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceNS"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceNS"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3657,8 +3564,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sA_6sik6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceNS/id"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceNS/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sA_6syk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3LyQESpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3695,7 +3602,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sACRYik6Eem-J7NZSmLltA" name="ServiceNsUsage" tooltipText="" outgoingEdges="_sBuTdik6Eem-J7NZSmLltA _sB4Edik6Eem-J7NZSmLltA" incomingEdges="_sBeb0Ck6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sACRYik6Eem-J7NZSmLltA" name="ServiceNsUsage" tooltipText="" outgoingEdges="_sB4Edik6Eem-J7NZSmLltA" incomingEdges="_3MYtAypWEem2soT2TDjIcQ _3MgBwCpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceNsUsage"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceNsUsage"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3708,8 +3615,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBBv4Sk6Eem-J7NZSmLltA" name="id : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceNsUsage/id"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceNsUsage/id"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBBv4ik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3Ly3IipWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3730,7 +3637,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sADfgSk6Eem-J7NZSmLltA" name="ServiceParameter" tooltipText="" outgoingEdges="_sB4EfSk6Eem-J7NZSmLltA" incomingEdges="_sBgRDSk6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sADfgSk6Eem-J7NZSmLltA" name="ServiceParameter" tooltipText="" outgoingEdges="_sB4EfSk6Eem-J7NZSmLltA" incomingEdges="_3MZUFipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceParameter"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceParameter"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3767,8 +3674,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBDlESk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceParameter/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//ServiceParameter/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBDlEik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3L0sUSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3789,7 +3696,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAF7wSk6Eem-J7NZSmLltA" name="ServiceTypeRealizations" tooltipText="" outgoingEdges="_sBu6hik6Eem-J7NZSmLltA" incomingEdges="_sBtFVik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAF7wSk6Eem-J7NZSmLltA" name="ServiceTypeRealizations" tooltipText="" incomingEdges="_3MbwVypWEem2soT2TDjIcQ _3MdlgSpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//ServiceTypeRealizations"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ServiceTypeRealizations"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3800,7 +3707,7 @@ </ownedStyle> <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAGi0ik6Eem-J7NZSmLltA" name="SubDataAttribute" tooltipText="" outgoingEdges="_sB4EhCk6Eem-J7NZSmLltA" incomingEdges="_sBhfJik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAGi0ik6Eem-J7NZSmLltA" name="SubDataAttribute" tooltipText="" outgoingEdges="_sB4EhCk6Eem-J7NZSmLltA" incomingEdges="_3MO8CSpWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//SubDataAttribute"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//SubDataAttribute"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3861,8 +3768,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBHPcyk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//SubDataAttribute/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//SubDataAttribute/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBH2gCk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3L16dSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3915,7 +3822,7 @@ <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAIYASk6Eem-J7NZSmLltA" name="SubDataObject" tooltipText="" outgoingEdges="_sB4rgyk6Eem-J7NZSmLltA" incomingEdges="_sBfp9ik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAIYASk6Eem-J7NZSmLltA" name="SubDataObject" tooltipText="" outgoingEdges="_sB4rgyk6Eem-J7NZSmLltA" incomingEdges="_3Mc-dipWEem2soT2TDjIcQ" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//SubDataObject"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//SubDataObject"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -3952,8 +3859,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBKSwSk6Eem-J7NZSmLltA" name="name : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//SubDataObject/name"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//SubDataObject/name"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBKSwik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3L3vpCpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -3992,8 +3899,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBLg4yk6Eem-J7NZSmLltA" name="type : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//SubDataObject/type"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//SubDataObject/type"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBMH8Ck6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3L49wSpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -4027,13 +3934,13 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBMvASk6Eem-J7NZSmLltA" name="titleID : EString" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//TitledClass/titleID"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//TitledClass/titleID"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBMvAik6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3L5k0SpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAK0QCk6Eem-J7NZSmLltA" name="NSDObjectWithVersionAndRelease" tooltipText="" incomingEdges="_sBzL8Ck6Eem-J7NZSmLltA _sBzzBik6Eem-J7NZSmLltA _sB1BLSk6Eem-J7NZSmLltA _sB2PWCk6Eem-J7NZSmLltA _sB22XSk6Eem-J7NZSmLltA _sB3ddCk6Eem-J7NZSmLltA _sB4Edik6Eem-J7NZSmLltA" width="12" height="10"> + <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_sAK0QCk6Eem-J7NZSmLltA" name="NSDObjectWithVersionAndRelease" tooltipText="" incomingEdges="_sBzL8Ck6Eem-J7NZSmLltA _sB1BLSk6Eem-J7NZSmLltA _sB2PWCk6Eem-J7NZSmLltA _sB22XSk6Eem-J7NZSmLltA _sB3ddCk6Eem-J7NZSmLltA _sB4Edik6Eem-J7NZSmLltA" width="12" height="10"> <target xmi:type="ecore:EClass" href="nsd.ecore#//NSDObjectWithVersionAndRelease"/> <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//NSDObjectWithVersionAndRelease"/> <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> @@ -4055,8 +3962,8 @@ <ownedElements xmi:type="diagram:DNodeListElement" uid="_sBNWEik6Eem-J7NZSmLltA" name="version : EIntegerObject" tooltipText=""> <target xmi:type="ecore:EAttribute" href="nsd.ecore#//NSDObjectWithVersionAndRelease/version"/> <semanticElements xmi:type="ecore:EAttribute" href="nsd.ecore#//NSDObjectWithVersionAndRelease/version"/> - <ownedStyle xmi:type="diagram:BundledImage" uid="_sBNWEyk6Eem-J7NZSmLltA" labelAlignment="LEFT" description="_sAYPoCk6Eem-J7NZSmLltA"> - <labelFormat>bold</labelFormat> + <ownedStyle xmi:type="diagram:BundledImage" uid="_3L6L4SpWEem2soT2TDjIcQ" labelAlignment="LEFT"> + <description xmi:type="style:BundledImageDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']/@style"/> </ownedStyle> <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> </ownedElements> @@ -4074,19 +3981,6 @@ </ownedStyle> <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBaxeSk6Eem-J7NZSmLltA" name="[0..-2] /copyright" sourceNode="_r_Sqgik6Eem-J7NZSmLltA" targetNode="_r_k-Yik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//DocumentRoot/copyright"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//DocumentRoot/copyright"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBbYgCk6Eem-J7NZSmLltA" description="_sBaxcCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="114,159,207"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBbYgik6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBbYgSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBbYhik6Eem-J7NZSmLltA" name="[0..1] /nS" sourceNode="_r_Sqgik6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA"> <target xmi:type="ecore:EReference" href="nsd.ecore#//DocumentRoot/nS"/> <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//DocumentRoot/nS"/> @@ -4126,759 +4020,149 @@ </ownedStyle> <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBdNsCk6Eem-J7NZSmLltA" name="[1..*] abbreviation" sourceNode="_r_Vt0ik6Eem-J7NZSmLltA" targetNode="_r_VGwSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/abbreviation"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/abbreviation"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBdNtCk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBdNtik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBdNtSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBdNuik6Eem-J7NZSmLltA" name="[0..*] dataObject" sourceNode="_r_YxISk6Eem-J7NZSmLltA" targetNode="_r_oowSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//AnyLNClass/dataObject"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//AnyLNClass/dataObject"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBd0wyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBd0xSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBd0xCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBzL8Ck6Eem-J7NZSmLltA" sourceNode="_r_OZECk6Eem-J7NZSmLltA" targetNode="_sAK0QCk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBzzACk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sBzzASk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBzzAik6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBd0ySk6Eem-J7NZSmLltA" name="[0..1] copyright" sourceNode="_r_kXUik6Eem-J7NZSmLltA" targetNode="_r_k-Yik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//Copyrighted/copyright"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Copyrighted/copyright"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBd0yik6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBd0zCk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBd0yyk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB0aEyk6Eem-J7NZSmLltA" sourceNode="_r_W78Ck6Eem-J7NZSmLltA" targetNode="_r_YxISk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//AbstractLNClass"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AbstractLNClass"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB0aFCk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB0aFSk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB0aFik6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBeb0Ck6Eem-J7NZSmLltA" name="[1..*] serviceNsUsage" sourceNode="_r_Z_QCk6Eem-J7NZSmLltA" targetNode="_sACRYik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServiceNS/serviceNsUsage"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServiceNS/serviceNsUsage"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBeb0Sk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBeb0yk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBeb0ik6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB0aGik6Eem-J7NZSmLltA" sourceNode="_r_YxISk6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//AnyLNClass"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AnyLNClass"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB0aGyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB0aHCk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB0aHSk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBeb1yk6Eem-J7NZSmLltA" name="[0..*] service" sourceNode="_r_bNYCk6Eem-J7NZSmLltA" targetNode="_r_UfsCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/service"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/service"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBfC4Ck6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBfC4ik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBfC4Sk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB0aISk6Eem-J7NZSmLltA" sourceNode="_r_Z_QCk6Eem-J7NZSmLltA" targetNode="_r_kXUik6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServiceNS"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServiceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1BICk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1BISk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1BIik6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBfC5ik6Eem-J7NZSmLltA" name="[0..*] dataSetMemberOf" sourceNode="_r_bNYCk6Eem-J7NZSmLltA" targetNode="_r_qd8Ck6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/dataSetMemberOf"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/dataSetMemberOf"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBfC5yk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBfC6Sk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBfC6Ck6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1BJik6Eem-J7NZSmLltA" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//CDC"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//CDC"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1BJyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1BKCk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1BKSk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBfC7Sk6Eem-J7NZSmLltA" name="[1..*] basicType" sourceNode="_r_dpoCk6Eem-J7NZSmLltA" targetNode="_r_cbgSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//BasicTypes/basicType"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//BasicTypes/basicType"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBfp8Ck6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBfp8ik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBfp8Sk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1BLSk6Eem-J7NZSmLltA" sourceNode="_r_h7ESk6Eem-J7NZSmLltA" targetNode="_sAK0QCk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//Changes"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Changes"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1BLik6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1BLyk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1BMCk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBfp9ik6Eem-J7NZSmLltA" name="[0..*] subDataObject" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_sAIYASk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/subDataObject"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/subDataObject"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBgRACk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBgRAik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBgRASk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1BNCk6Eem-J7NZSmLltA" sourceNode="_r_jJMSk6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttribute"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttribute"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oMCk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oMSk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oMik6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBgRBik6Eem-J7NZSmLltA" name="[1..*] dataAttribute" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_r_mMgCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/dataAttribute"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/dataAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBgRByk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBgRCSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBgRCCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1oNik6Eem-J7NZSmLltA" sourceNode="_r_mMgCk6Eem-J7NZSmLltA" targetNode="_r_s6MSk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//DataAttribute"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataAttribute"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oNyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oOCk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oOSk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBgRDSk6Eem-J7NZSmLltA" name="[0..1] serviceParameter" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_sADfgSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/serviceParameter"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/serviceParameter"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBg4ECk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBg4Eik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBg4ESk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1oPSk6Eem-J7NZSmLltA" sourceNode="_r_oowSk6Eem-J7NZSmLltA" targetNode="_r_s6MSk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//DataObject"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataObject"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oPik6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oPyk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oQCk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBg4Fik6Eem-J7NZSmLltA" name="[0..*] cDC" sourceNode="_r_gs8ik6Eem-J7NZSmLltA" targetNode="_r_fe0Ck6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//CDCs/cDC"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDCs/cDC"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBhfICk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBhfIik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBhfISk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1oRCk6Eem-J7NZSmLltA" sourceNode="_r_thQik6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//Enumeration"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Enumeration"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oRSk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oRik6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oRyk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBhfJik6Eem-J7NZSmLltA" name="[1..*] subDataAttribute" sourceNode="_r_jJMSk6Eem-J7NZSmLltA" targetNode="_sAGi0ik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/subDataAttribute"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/subDataAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBhfJyk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBhfKSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBhfKCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB2PQyk6Eem-J7NZSmLltA" sourceNode="_r_zn4Sk6Eem-J7NZSmLltA" targetNode="_r_s6MSk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//Literal"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Literal"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB2PRCk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB2PRSk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB2PRik6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBhfLSk6Eem-J7NZSmLltA" name="[0..*] constructedAttribute" sourceNode="_r_jwQik6Eem-J7NZSmLltA" targetNode="_r_jJMSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttributes/constructedAttribute"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttributes/constructedAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBiGMCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBiGMik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBiGMSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB2PSik6Eem-J7NZSmLltA" sourceNode="_r_0O8ik6Eem-J7NZSmLltA" targetNode="_r_YxISk6Eem-J7NZSmLltA"> + <target xmi:type="ecore:EClass" href="nsd.ecore#//LNClass"/> + <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//LNClass"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB2PSyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> + <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB2PTCk6Eem-J7NZSmLltA" showIcon="false"> + <labelFormat>italic</labelFormat> + </beginLabelStyle> + <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB2PTSk6Eem-J7NZSmLltA" showIcon="false"/> </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBiGNik6Eem-J7NZSmLltA" name="[1..1] notice" sourceNode="_r_k-Yik6Eem-J7NZSmLltA" targetNode="_r_2EIik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/notice"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/notice"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBitQCk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBitQik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBitQSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBitRik6Eem-J7NZSmLltA" name="[1..1] license" sourceNode="_r_k-Yik6Eem-J7NZSmLltA" targetNode="_r_xysCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/license"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/license"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBitRyk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBitSSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBitSCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBitTSk6Eem-J7NZSmLltA" name="[1..*] literal" sourceNode="_r_thQik6Eem-J7NZSmLltA" targetNode="_r_zn4Sk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//Enumeration/literal"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Enumeration/literal"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBjUUCk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBjUUik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBjUUSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBjUVik6Eem-J7NZSmLltA" name="[0..*] enumeration" sourceNode="_r_uvYik6Eem-J7NZSmLltA" targetNode="_r_thQik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//Enumerations/enumeration"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Enumerations/enumeration"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBjUVyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBjUWSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBjUWCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBj7Yyk6Eem-J7NZSmLltA" name="[0..1] applicableServices" sourceNode="_r_vWcik6Eem-J7NZSmLltA" targetNode="_r_bNYCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraint/applicableServices"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraint/applicableServices"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBj7ZCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBj7Zik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBj7ZSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBj7aik6Eem-J7NZSmLltA" name="[1..*] functionalConstraint" sourceNode="_r_xLoCk6Eem-J7NZSmLltA" targetNode="_r_vWcik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/functionalConstraint"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/functionalConstraint"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBkicCk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBkicik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBkicSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBkidik6Eem-J7NZSmLltA" name="[0..*] abstractLNClass" sourceNode="_r_1dECk6Eem-J7NZSmLltA" targetNode="_r_W78Ck6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/abstractLNClass"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/abstractLNClass"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBkidyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBkieSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBkieCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBkifSk6Eem-J7NZSmLltA" name="[0..*] lNClass" sourceNode="_r_1dECk6Eem-J7NZSmLltA" targetNode="_r_0O8ik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/lNClass"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/lNClass"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBlJgCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBlJgik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBlJgSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBlJhik6Eem-J7NZSmLltA" name="[0..1] changes" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_h7ESk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/changes"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/changes"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBlJhyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBlJiSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBlJiCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBlwkyk6Eem-J7NZSmLltA" name="[0..1] dependsOn" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_SDcCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/dependsOn"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/dependsOn"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBlwlCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBlwlik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBlwlSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBlwmik6Eem-J7NZSmLltA" name="[0..1] basicTypes" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_dpoCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/basicTypes"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/basicTypes"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBlwmyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBlwnSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBlwnCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBmXoCk6Eem-J7NZSmLltA" name="[0..1] functionalConstraints" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_xLoCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/functionalConstraints"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/functionalConstraints"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBmXoSk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBmXoyk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBmXoik6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBmXpyk6Eem-J7NZSmLltA" name="[0..1] presenceConditions" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_68oSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/presenceConditions"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/presenceConditions"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBm-sCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBm-sik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBm-sSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBm-tik6Eem-J7NZSmLltA" name="[0..1] abbreviations" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_Vt0ik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/abbreviations"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/abbreviations"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBnlwCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBnlwik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBnlwSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBnlxik6Eem-J7NZSmLltA" name="[0..1] enumerations" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_uvYik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/enumerations"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/enumerations"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBnlxyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBnlySk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBnlyCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBnlzSk6Eem-J7NZSmLltA" name="[0..1] constructedAttributes" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_jwQik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/constructedAttributes"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/constructedAttributes"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBoM0Ck6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBoM0ik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBoM0Sk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBoM1ik6Eem-J7NZSmLltA" name="[0..1] cDCs" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_gs8ik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/cDCs"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/cDCs"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBoz4Ck6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBoz4ik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBoz4Sk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBoz5ik6Eem-J7NZSmLltA" name="[0..1] lNClasses" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_1dECk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/lNClasses"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/lNClasses"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBoz5yk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBoz6Sk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBoz6Ck6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBpa8Ck6Eem-J7NZSmLltA" name="[1..*] doc" sourceNode="_r_5HcCk6Eem-J7NZSmLltA" targetNode="_r_rsEik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//NSDoc/doc"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NSDoc/doc"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBpa8Sk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBpa8yk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBpa8ik6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBpa9yk6Eem-J7NZSmLltA" name="[1..*] presenceCondition" sourceNode="_r_68oSk6Eem-J7NZSmLltA" targetNode="_r_5ugik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//PresenceConditions/presenceCondition"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//PresenceConditions/presenceCondition"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBqCACk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBqCAik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBqCASk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBqCBik6Eem-J7NZSmLltA" name="[1..*] serviceDataAttribute" sourceNode="_r_8KxCk6Eem-J7NZSmLltA" targetNode="_r__OESk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDC/serviceDataAttribute"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDC/serviceDataAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBqpECk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBqpEik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBqpESk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBqpFik6Eem-J7NZSmLltA" name="[0..*] serviceCDC" sourceNode="_r_9Y4Ck6Eem-J7NZSmLltA" targetNode="_r_8KxCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDCs/serviceCDC"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDCs/serviceCDC"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBqpFyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBqpGSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBqpGCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBrQIyk6Eem-J7NZSmLltA" name="[0..*] serviceConstructedAttribute" sourceNode="_r_-nASk6Eem-J7NZSmLltA" targetNode="_r_9_8Ck6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttributes/serviceConstructedAttribute"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttributes/serviceConstructedAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBrQJCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBrQJik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBrQJSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBrQKik6Eem-J7NZSmLltA" name="[0..1] changes" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_r_h7ESk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/changes"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/changes"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBr3MCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBr3Mik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBr3MSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBr3Nik6Eem-J7NZSmLltA" name="[0..1] functionalConstraints" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_r_xLoCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/functionalConstraints"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/functionalConstraints"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBr3Nyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBr3OSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBr3OCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBseQCk6Eem-J7NZSmLltA" name="[0..1] presenceConditions" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_r_68oSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/presenceConditions"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/presenceConditions"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBseQSk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBseQyk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBseQik6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBseRyk6Eem-J7NZSmLltA" name="[0..1] abbreviations" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_r_Vt0ik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/abbreviations"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/abbreviations"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBtFUCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBtFUik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBtFUSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBtFVik6Eem-J7NZSmLltA" name="[0..1] serviceTypeRealizations" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_sAF7wSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceTypeRealizations"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceTypeRealizations"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBtsYCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBtsYik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBtsYSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBtsZik6Eem-J7NZSmLltA" name="[0..1] serviceConstructedAttributes" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_r_-nASk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceConstructedAttributes"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceConstructedAttributes"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBtsZyk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBtsaSk6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBtsaCk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBtsbSk6Eem-J7NZSmLltA" name="[0..1] serviceCDCs" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_r_9Y4Ck6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceCDCs"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceCDCs"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBuTcCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBuTcik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBuTcSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBuTdik6Eem-J7NZSmLltA" name="[1..*] appliesTo" sourceNode="_sACRYik6Eem-J7NZSmLltA" targetNode="_r_OZECk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNsUsage/appliesTo"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNsUsage/appliesTo"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBu6gCk6Eem-J7NZSmLltA" description="_sBdNsSk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBu6gik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - <labelFormat>bold</labelFormat> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBu6gSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBu6hik6Eem-J7NZSmLltA" name="[0..*] serviceTypeRealization" sourceNode="_sAF7wSk6Eem-J7NZSmLltA" targetNode="_r_jJMSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceTypeRealizations/serviceTypeRealization"/> - <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceTypeRealizations/serviceTypeRealization"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBvhkCk6Eem-J7NZSmLltA" description="_sBd0wCk6Eem-J7NZSmLltA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBvhkik6Eem-J7NZSmLltA" showIcon="false"> - <customFeatures>labelSize</customFeatures> - </centerLabelStyle> - <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_sBvhkSk6Eem-J7NZSmLltA" showIcon="false" labelColor="39,76,114"> - <customFeatures>labelSize</customFeatures> - </endLabelStyle> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBzL8Ck6Eem-J7NZSmLltA" sourceNode="_r_OZECk6Eem-J7NZSmLltA" targetNode="_sAK0QCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AppliesToType"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBzzACk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sBzzASk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBzzAik6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sBzzBik6Eem-J7NZSmLltA" sourceNode="_r_SDcCk6Eem-J7NZSmLltA" targetNode="_sAK0QCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//DependsOnType"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DependsOnType"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sBzzByk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sBzzCCk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sBzzCSk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB0aEyk6Eem-J7NZSmLltA" sourceNode="_r_W78Ck6Eem-J7NZSmLltA" targetNode="_r_YxISk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//AbstractLNClass"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AbstractLNClass"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB0aFCk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB0aFSk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB0aFik6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB0aGik6Eem-J7NZSmLltA" sourceNode="_r_YxISk6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//AnyLNClass"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//AnyLNClass"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB0aGyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB0aHCk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB0aHSk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB0aISk6Eem-J7NZSmLltA" sourceNode="_r_Z_QCk6Eem-J7NZSmLltA" targetNode="_r_kXUik6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServiceNS"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ApplicableServiceNS"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1BICk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1BISk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1BIik6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1BJik6Eem-J7NZSmLltA" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//CDC"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//CDC"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1BJyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1BKCk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1BKSk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1BLSk6Eem-J7NZSmLltA" sourceNode="_r_h7ESk6Eem-J7NZSmLltA" targetNode="_sAK0QCk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//Changes"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Changes"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1BLik6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1BLyk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1BMCk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1BNCk6Eem-J7NZSmLltA" sourceNode="_r_jJMSk6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttribute"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//ConstructedAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oMCk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oMSk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oMik6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1oNik6Eem-J7NZSmLltA" sourceNode="_r_mMgCk6Eem-J7NZSmLltA" targetNode="_r_s6MSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//DataAttribute"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataAttribute"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oNyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oOCk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oOSk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1oPSk6Eem-J7NZSmLltA" sourceNode="_r_oowSk6Eem-J7NZSmLltA" targetNode="_r_s6MSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//DataObject"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//DataObject"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oPik6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oPyk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oQCk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB1oRCk6Eem-J7NZSmLltA" sourceNode="_r_thQik6Eem-J7NZSmLltA" targetNode="_sAJmICk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//Enumeration"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Enumeration"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB1oRSk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB1oRik6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB1oRyk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB2PQyk6Eem-J7NZSmLltA" sourceNode="_r_zn4Sk6Eem-J7NZSmLltA" targetNode="_r_s6MSk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//Literal"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//Literal"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB2PRCk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB2PRSk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB2PRik6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> - </ownedDiagramElements> - <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB2PSik6Eem-J7NZSmLltA" sourceNode="_r_0O8ik6Eem-J7NZSmLltA" targetNode="_r_YxISk6Eem-J7NZSmLltA"> - <target xmi:type="ecore:EClass" href="nsd.ecore#//LNClass"/> - <semanticElements xmi:type="ecore:EClass" href="nsd.ecore#//LNClass"/> - <ownedStyle xmi:type="diagram:EdgeStyle" uid="_sB2PSyk6Eem-J7NZSmLltA" targetArrow="InputClosedArrow" routingStyle="tree"> - <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> - <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_sB2PTCk6Eem-J7NZSmLltA" showIcon="false"> - <labelFormat>italic</labelFormat> - </beginLabelStyle> - <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_sB2PTSk6Eem-J7NZSmLltA" showIcon="false"/> - </ownedStyle> - <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> <ownedDiagramElements xmi:type="diagram:DEdge" uid="_sB2PUSk6Eem-J7NZSmLltA" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_kXUik6Eem-J7NZSmLltA"> <target xmi:type="ecore:EClass" href="nsd.ecore#//NS"/> @@ -5036,6 +4320,446 @@ </ownedStyle> <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MNG0CpWEem2soT2TDjIcQ" sourceNode="_r_1dECk6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] lNClasses" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/lNClasses"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MNt4ypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MNt5CpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MNt5SpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MNt6SpWEem2soT2TDjIcQ" sourceNode="_r_5ugik6Eem-J7NZSmLltA" targetNode="_r_68oSk6Eem-J7NZSmLltA" beginLabel="[0..*] presenceCondition" endLabel="[0..1] presenceConditions"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//PresenceCondition/presenceConditions"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//PresenceConditions/presenceCondition"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//PresenceCondition/presenceConditions"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MOU8CpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MOU8SpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MOU8ipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MOU9ipWEem2soT2TDjIcQ" sourceNode="_r_8KxCk6Eem-J7NZSmLltA" targetNode="_r__OESk6Eem-J7NZSmLltA" beginLabel="[0..1] serviceCDC" endLabel="[0..*] serviceDataAttribute"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDC/serviceDataAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceDataAttribute/serviceCDC"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDC/serviceDataAttribute"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MO8AypWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MO8BCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MO8BSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MO8CSpWEem2soT2TDjIcQ" sourceNode="_r_jJMSk6Eem-J7NZSmLltA" targetNode="_sAGi0ik6Eem-J7NZSmLltA" beginLabel="[0..1] constructedAttribute" endLabel="[0..*] subDataAttribute"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/subDataAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//SubDataAttribute/constructedAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/subDataAttribute"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MPjECpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MPjESpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MPjEipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MPjFipWEem2soT2TDjIcQ" sourceNode="_r_2rMik6Eem-J7NZSmLltA" targetNode="_r_68oSk6Eem-J7NZSmLltA" beginLabel="[0..1] nS" endLabel="[0..1] presenceConditions"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//NS/presenceConditions"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//PresenceConditions/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/presenceConditions"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MQKICpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MQKISpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MQKIipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MQKJipWEem2soT2TDjIcQ" sourceNode="_r_9_8Ck6Eem-J7NZSmLltA" targetNode="_r_-nASk6Eem-J7NZSmLltA" beginLabel="[0..*] serviceConstructedAttribute" endLabel="[0..1] serviceConstructedAttribute"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttribute/serviceConstructedAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttribute/serviceConstructedAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttributes/serviceConstructedAttribute"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MQxMCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MQxMSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MQxMipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MQxNipWEem2soT2TDjIcQ" sourceNode="_r_thQik6Eem-J7NZSmLltA" targetNode="_r_uvYik6Eem-J7NZSmLltA" beginLabel="[0..*] enumeration" endLabel="[0..1] enumerations"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Enumeration/enumerations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Enumerations/enumeration"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Enumeration/enumerations"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MQxNypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MQxOCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MQxOSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MRYQypWEem2soT2TDjIcQ" sourceNode="_r_0O8ik6Eem-J7NZSmLltA" targetNode="_r_1dECk6Eem-J7NZSmLltA" beginLabel="[0..*] lNClass" endLabel="[0..1] lNClasses"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//LNClass/lNClasses"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/lNClass"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//LNClass/lNClasses"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MR_UCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MR_USpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MR_UipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MR_VipWEem2soT2TDjIcQ" sourceNode="_r_jwQik6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] constructedAttributes" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttributes/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/constructedAttributes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttributes/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MR_VypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MR_WCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MR_WSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MSmYCpWEem2soT2TDjIcQ" sourceNode="_r_xLoCk6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] functionalConstraints" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/functionalConstraints"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MSmYSpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MSmYipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MSmYypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MSmZypWEem2soT2TDjIcQ" sourceNode="_r_k-Yik6Eem-J7NZSmLltA" targetNode="_r_xysCk6Eem-J7NZSmLltA" beginLabel="[0..1] copyrightNotice" endLabel="[0..1] license"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/license"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//License/copyrightNotice"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/license"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MTNcCpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MTNcSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MTNcipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MTNdipWEem2soT2TDjIcQ" sourceNode="_r_Vt0ik6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] abbreviations" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/abbreviations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MT0gCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MT0gSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MT0gipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MT0hipWEem2soT2TDjIcQ" sourceNode="_r_YxISk6Eem-J7NZSmLltA" targetNode="_r_oowSk6Eem-J7NZSmLltA" beginLabel="[0..1] anyLNClass" endLabel="[0..*] dataObject"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//AnyLNClass/dataObject"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//DataObject/anyLNClass"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//AnyLNClass/dataObject"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MT0hypWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MT0iCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MT0iSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MUbkypWEem2soT2TDjIcQ" sourceNode="_r_bNYCk6Eem-J7NZSmLltA" targetNode="_r_vWcik6Eem-J7NZSmLltA" beginLabel="[0..1] applicableServices" endLabel="[0..1] functionalConstraint"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/functionalConstraint"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraint/applicableServices"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/functionalConstraint"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MUblCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MUblSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MUblipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MVCoCpWEem2soT2TDjIcQ" sourceNode="_r_8KxCk6Eem-J7NZSmLltA" targetNode="_r_9Y4Ck6Eem-J7NZSmLltA" beginLabel="[0..*] serviceCDC" endLabel="[0..1] serviceCDCs"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDC/serviceCDCs"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDCs/serviceCDC"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDC/serviceCDCs"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MVCoSpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MVCoipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MVCoypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MVpsCpWEem2soT2TDjIcQ" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_r_mMgCk6Eem-J7NZSmLltA" beginLabel="[0..1] cDC" endLabel="[0..*] dataAttribute"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/dataAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//DataAttribute/cDC"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/dataAttribute"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MVpsSpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MVpsipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MVpsypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MVptypWEem2soT2TDjIcQ" sourceNode="_r_68oSk6Eem-J7NZSmLltA" targetNode="_sAAcMSk6Eem-J7NZSmLltA" beginLabel="[0..1] presenceConditions" endLabel="[0..1] serviceNS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//PresenceConditions/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/presenceConditions"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//PresenceConditions/serviceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MWQwCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MWQwSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MWQwipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MWQxipWEem2soT2TDjIcQ" sourceNode="_r_-nASk6Eem-J7NZSmLltA" targetNode="_sAAcMSk6Eem-J7NZSmLltA" beginLabel="[0..1] serviceConstructedAttributes" endLabel="[0..1] serviceNS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttributes/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceConstructedAttributes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceConstructedAttributes/serviceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MW30CpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MW30SpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MW30ipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MW31ipWEem2soT2TDjIcQ" sourceNode="_r_h7ESk6Eem-J7NZSmLltA" targetNode="_sAAcMSk6Eem-J7NZSmLltA" beginLabel="[0..1] changes" endLabel="[0..1] serviceNS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Changes/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/changes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Changes/serviceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MW31ypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MW32CpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MW32SpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MXe4CpWEem2soT2TDjIcQ" sourceNode="_r_jJMSk6Eem-J7NZSmLltA" targetNode="_r_jwQik6Eem-J7NZSmLltA" beginLabel="[0..*] constructedAttribute" endLabel="[0..1] constructedAttributes"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/constructedAttributes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttributes/constructedAttribute"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/constructedAttributes"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MXe4SpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MXe4ipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MXe4ypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MXe5ypWEem2soT2TDjIcQ" sourceNode="_r_uvYik6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] enumerations" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Enumerations/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/enumerations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Enumerations/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MYF8CpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MYF8SpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MYF8ipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MYF9ipWEem2soT2TDjIcQ" sourceNode="_r_VGwSk6Eem-J7NZSmLltA" targetNode="_r_Vt0ik6Eem-J7NZSmLltA" beginLabel="[0..*] abbreviation" endLabel="[0..1] abbreviations"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviation/abbreviations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/abbreviation"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviation/abbreviations"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MYF9ypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MYF-CpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MYF-SpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MYtAypWEem2soT2TDjIcQ" sourceNode="_r_Z_QCk6Eem-J7NZSmLltA" targetNode="_sACRYik6Eem-J7NZSmLltA" beginLabel="[0..1] applicableServiceNS" endLabel="[0..*] serviceNsUsage"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServiceNS/serviceNsUsage"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNsUsage/applicableServiceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServiceNS/serviceNsUsage"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MZUECpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MZUESpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MZUEipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MZUFipWEem2soT2TDjIcQ" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_sADfgSk6Eem-J7NZSmLltA" beginLabel="[0..1] cDC" endLabel="[0..1] serviceParameter"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/serviceParameter"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceParameter/cDC"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/serviceParameter"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MZ7ICpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MZ7ISpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MZ7IipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MZ7JipWEem2soT2TDjIcQ" sourceNode="_r_W78Ck6Eem-J7NZSmLltA" targetNode="_r_1dECk6Eem-J7NZSmLltA" beginLabel="[0..*] abstractLNClass" endLabel="[0..1] lNClasses"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//AbstractLNClass/lNClasses"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//LNClasses/abstractLNClass"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//AbstractLNClass/lNClasses"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MaiMCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MaiMSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MaiMipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MaiNipWEem2soT2TDjIcQ" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_r_gs8ik6Eem-J7NZSmLltA" beginLabel="[0..*] cDC" endLabel="[0..1] cDCs"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/cDCs"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDCs/cDC"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/cDCs"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MaiNypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MaiOCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MaiOSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MbJQypWEem2soT2TDjIcQ" sourceNode="_r_xLoCk6Eem-J7NZSmLltA" targetNode="_sAAcMSk6Eem-J7NZSmLltA" beginLabel="[0..1] functionalConstraints" endLabel="[0..1] serviceNS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/functionalConstraints"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/serviceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MbJRCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MbJRSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MbJRipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MbwUCpWEem2soT2TDjIcQ" sourceNode="_r_cbgSk6Eem-J7NZSmLltA" targetNode="_r_dpoCk6Eem-J7NZSmLltA" beginLabel="[0..*] basicType" endLabel="[0..1] basicTypes"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//BasicType/basicTypes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//BasicTypes/basicType"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//BasicType/basicTypes"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MbwUSpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MbwUipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MbwUypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MbwVypWEem2soT2TDjIcQ" sourceNode="_sAAcMSk6Eem-J7NZSmLltA" targetNode="_sAF7wSk6Eem-J7NZSmLltA" beginLabel="[0..1] serviceNS" endLabel="[0..1] serviceTypeRealizations"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceTypeRealizations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceTypeRealizations/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceTypeRealizations"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3McXYCpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3McXYSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3McXYipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3McXZipWEem2soT2TDjIcQ" sourceNode="_r_9Y4Ck6Eem-J7NZSmLltA" targetNode="_sAAcMSk6Eem-J7NZSmLltA" beginLabel="[0..1] serviceCDCs" endLabel="[0..1] serviceNS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDCs/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/serviceCDCs"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceCDCs/serviceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3Mc-cCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3Mc-cSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3Mc-cipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3Mc-dipWEem2soT2TDjIcQ" sourceNode="_r_fe0Ck6Eem-J7NZSmLltA" targetNode="_sAIYASk6Eem-J7NZSmLltA" beginLabel="[0..1] cDC" endLabel="[0..*] subDataObject"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CDC/subDataObject"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//SubDataObject/cDC"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDC/subDataObject"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3Mc-dypWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3Mc-eCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3Mc-eSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MdlgSpWEem2soT2TDjIcQ" sourceNode="_r_jJMSk6Eem-J7NZSmLltA" targetNode="_sAF7wSk6Eem-J7NZSmLltA" beginLabel="[0..*] serviceTypeRealization" endLabel="[0..1] serviceTypeRealizations"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/serviceTypeRealizations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceTypeRealizations/serviceTypeRealization"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ConstructedAttribute/serviceTypeRealizations"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MdlgipWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MdlgypWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MdlhCpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MdliCpWEem2soT2TDjIcQ" sourceNode="_r_thQik6Eem-J7NZSmLltA" targetNode="_r_zn4Sk6Eem-J7NZSmLltA" beginLabel="[0..1] enumeration" endLabel="[0..*] literal"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Enumeration/literal"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Literal/enumeration"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Enumeration/literal"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MeMkCpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MeMkSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MeMkipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MeMlipWEem2soT2TDjIcQ" sourceNode="_r_dpoCk6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] basicTypes" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//BasicTypes/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/basicTypes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//BasicTypes/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MezoCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MezoSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MezoipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MezpipWEem2soT2TDjIcQ" sourceNode="_r_gs8ik6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] cDCs" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CDCs/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/cDCs"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CDCs/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MezpypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MezqCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MezqSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MfasypWEem2soT2TDjIcQ" sourceNode="_r_rsEik6Eem-J7NZSmLltA" targetNode="_r_5HcCk6Eem-J7NZSmLltA" beginLabel="[0..*] doc" endLabel="[0..1] nSDoc"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Doc/nSDoc"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NSDoc/doc"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Doc/nSDoc"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MfatCpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MfatSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MfatipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MgBwCpWEem2soT2TDjIcQ" sourceNode="_r_OZECk6Eem-J7NZSmLltA" targetNode="_sACRYik6Eem-J7NZSmLltA" beginLabel="[0..*] appliesTo" endLabel="[0..1] serviceNsUsage"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//AppliesToType/serviceNsUsage"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNsUsage/appliesTo"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//AppliesToType/serviceNsUsage"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MgBwSpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MgBwipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MgBwypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MgBxypWEem2soT2TDjIcQ" sourceNode="_r_Vt0ik6Eem-J7NZSmLltA" targetNode="_sAAcMSk6Eem-J7NZSmLltA" beginLabel="[0..1] abbreviations" endLabel="[0..1] serviceNS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/serviceNS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceNS/abbreviations"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Abbreviations/serviceNS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3Mgo0CpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3Mgo0SpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3Mgo0ipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3Mgo1ipWEem2soT2TDjIcQ" sourceNode="_r_bNYCk6Eem-J7NZSmLltA" targetNode="_r_qd8Ck6Eem-J7NZSmLltA" beginLabel="[0..1] applicableServices" endLabel="[0..*] dataSetMemberOf"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/dataSetMemberOf"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//DataSetMemberOf/applicableServices"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/dataSetMemberOf"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MhP4CpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MhP4SpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MhP4ipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MhP5ipWEem2soT2TDjIcQ" sourceNode="_r_vWcik6Eem-J7NZSmLltA" targetNode="_r_xLoCk6Eem-J7NZSmLltA" beginLabel="[0..*] functionalConstraint" endLabel="[0..1] functionalConstraints"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraint/functionalConstraints"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraints/functionalConstraint"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//FunctionalConstraint/functionalConstraints"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MhP5ypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MhP6CpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MhP6SpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3Mh28CpWEem2soT2TDjIcQ" sourceNode="_r_kXUik6Eem-J7NZSmLltA" targetNode="_r_k-Yik6Eem-J7NZSmLltA" beginLabel="[0..1] copyrighted" endLabel="[0..1] copyright"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Copyrighted/copyright"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Copyrighted/copyright"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/copyrighted"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3Mh28SpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3Mh28ipWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3Mh28ypWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3Mh29ypWEem2soT2TDjIcQ" sourceNode="_r_UfsCk6Eem-J7NZSmLltA" targetNode="_r_bNYCk6Eem-J7NZSmLltA" beginLabel="[0..*] service" endLabel="[0..1] applicableServices"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//ServiceType/applicableServices"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ServiceType/applicableServices"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//ApplicableServices/service"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MieACpWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MieASpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MieAipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MieBipWEem2soT2TDjIcQ" sourceNode="_r_h7ESk6Eem-J7NZSmLltA" targetNode="_r_2rMik6Eem-J7NZSmLltA" beginLabel="[0..1] changes" endLabel="[0..1] nS"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//Changes/nS"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//NS/changes"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Changes/nS"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MieBypWEem2soT2TDjIcQ" description="_3MNt4CpWEem2soT2TDjIcQ" sourceArrow="InputArrow" targetArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MieCCpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MieCSpWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> + <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3MjFEypWEem2soT2TDjIcQ" sourceNode="_r_k-Yik6Eem-J7NZSmLltA" targetNode="_r_2EIik6Eem-J7NZSmLltA" beginLabel="[0..1] copyrightNotice" endLabel="[0..1] notice"> + <target xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/notice"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//Notice/copyrightNotice"/> + <semanticElements xmi:type="ecore:EReference" href="nsd.ecore#//CopyrightNotice/notice"/> + <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3MjFFCpWEem2soT2TDjIcQ" description="_3MO8ACpWEem2soT2TDjIcQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> + <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_3MjFFSpWEem2soT2TDjIcQ" showIcon="false"/> + <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3MjFFipWEem2soT2TDjIcQ" showIcon="false"/> + </ownedStyle> + <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> + </ownedDiagramElements> <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_rQwJgCk6Eem-J7NZSmLltA"/> <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore index 8c0d899..2e59383 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore @@ -6,10 +6,8 @@ <details key="name" value="AppliesTo_._type"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> @@ -17,9 +15,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage" defaultValueLiteral="IS" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The publication stage of the namespace, by default IS."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="publicationStage"/> @@ -27,24 +22,22 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace version, by default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNsUsage" ordered="false" + eType="#//ServiceNsUsage" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNsUsage/appliesTo"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="DependsOnType" eSuperTypes="#//NSDObjectWithVersionAndRelease"> + <eClassifiers xsi:type="ecore:EClass" name="DependsOn" eSuperTypes="#//NSDObjectWithVersionAndRelease"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="DependsOn_._type"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> @@ -52,9 +45,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage" defaultValueLiteral="IS" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The publication stage of the namespace, by default IS."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="publicationStage"/> @@ -62,14 +52,13 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace version, by default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/dependsOn"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -99,59 +88,35 @@ <details key="name" value="xsi:schemaLocation"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServiceNS" upperBound="-2" - eType="#//ApplicableServiceNS" volatile="true" transient="true" derived="true" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Root element of a file holding the allowed usages of ServiceNS-es."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServiceNS" eType="#//ApplicableServiceNS" + volatile="true" transient="true" unsettable="true" derived="true" containment="true" + resolveProxies="false"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ApplicableServiceNS"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="copyright" upperBound="-2" - eType="#//CopyrightNotice" volatile="true" transient="true" derived="true" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The copyright notice attached to the XML"/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="element"/> - <details key="name" value="Copyright"/> - <details key="namespace" value="##targetNamespace"/> - </eAnnotations> - </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="nS" upperBound="-2" eType="#//NS" - volatile="true" transient="true" derived="true" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Root element of a namespace definition (NSD) file."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" eType="#//NS" volatile="true" + transient="true" unsettable="true" derived="true" containment="true" resolveProxies="false"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="NS"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="nSDoc" upperBound="-2" - eType="#//NSDoc" volatile="true" transient="true" derived="true" containment="true" + <eStructuralFeatures xsi:type="ecore:EReference" name="nSDoc" eType="#//NSDoc" + volatile="true" transient="true" unsettable="true" derived="true" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Root element of a file holding the documentation strings of an NSD file (NSDOC)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="NSDoc"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" upperBound="-2" - eType="#//ServiceNS" volatile="true" transient="true" derived="true" containment="true" + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" eType="#//ServiceNS" + volatile="true" transient="true" unsettable="true" derived="true" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Root element of a service namespace definition (SNSD) file."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceNS"/> @@ -164,83 +129,76 @@ <details key="name" value="Service_._type"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="#//ACSIServicesKind" + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="#//ACSIServicesKind" unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" ordered="false" + eType="#//ApplicableServices" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ApplicableServices/service"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Abbreviation"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of an abbreviation."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tAbbreviation"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this abbreviation."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> </eAnnotations> </eStructuralFeatures> - <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 abbreviation, as used in IEC 61850 data models."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" ordered="false" + eType="#//Abbreviations" unsettable="true" resolveProxies="false" eOpposite="#//Abbreviations/abbreviation"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Abbreviations"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of abbreviationss which are introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tAbbreviations"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviation" lowerBound="1" - upperBound="-1" eType="#//Abbreviation" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of an abbreviation."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviation" ordered="false" + upperBound="-1" eType="#//Abbreviation" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//Abbreviation/abbreviations"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Abbreviation"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/abbreviations"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/abbreviations"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="AbstractLNClass" eSuperTypes="#//AnyLNClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of an abstract logical node and its contents."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tAbstractLNClass"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <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="The name of the abstract logical node."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false" + eType="#//LNClasses" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//LNClasses/abstractLNClass"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="ACSIServicesKind"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Enumeration holding the names of all ACSI services, as defined in Part 7-2. Is conceptually identical to the 7-2 ServiceNameKind enumeration (except the Unknown)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tACSIServicesKind"/> </eAnnotations> @@ -311,28 +269,21 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="AnyLNClass" abstract="true" eSuperTypes="#//TitledClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a logical node (abstract or not) and its contents."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tAnyLNClass"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" upperBound="-1" - eType="#//DataObject" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Child Data Object of the logical node."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" ordered="false" + upperBound="-1" eType="#//DataObject" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//DataObject/anyLNClass"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="DataObject"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="base" 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 abstract LN class this one extends (directly)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="base" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="base"/> @@ -340,39 +291,28 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ApplicableServiceNS" eSuperTypes="#//Copyrighted"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Describes the allowed usages of ServiceNS-es."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tApplicableServiceNS"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNsUsage" lowerBound="1" - upperBound="-1" eType="#//ServiceNsUsage" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Specification of a ServiceNS and all NS it can be used for."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNsUsage" ordered="false" + upperBound="-1" eType="#//ServiceNsUsage" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ServiceNsUsage/applicableServiceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceNsUsage"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="date" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Date of definition of the file."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="date"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1" - eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt" + <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Version of the file."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="version"/> @@ -380,93 +320,79 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ApplicableServices"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Applicable services for a given functional constraint."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tApplicableServices"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="service" upperBound="-1" - eType="#//ServiceType" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="If present, indicates that the service with given name applies to attributes with the specified FC (otherwise it may not be used)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="service" ordered="false" + upperBound="-1" eType="#//ServiceType" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ServiceType/applicableServices"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Service"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="dataSetMemberOf" upperBound="-1" - eType="#//DataSetMemberOf" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="An attribute of this FC can be member of a dataset for a control block type indicated by attribute cb if and only if this element is present."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="dataSetMemberOf" ordered="false" + upperBound="-1" eType="#//DataSetMemberOf" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//DataSetMemberOf/applicableServices"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="DataSetMemberOf"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraint" ordered="false" + eType="#//FunctionalConstraint" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//FunctionalConstraint/applicableServices"/> </eClassifiers> <eClassifiers xsi:type="ecore:EDataType" name="AttributeTypeKind" instanceClassName="org.eclipse.emf.common.util.Enumerator"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Type kind of a data attribute, which may be "undefined"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tAttributeTypeKind"/> <details key="memberTypes" value="tDefinedAttributeTypeKind tUndefinedAttributeTypeKind"/> </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="BasicType"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a basic type for a data attribute."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tBasicType"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> </eAnnotations> </eStructuralFeatures> - <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 basic type (e.g., INT32), as used in SCL."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="basicTypes" ordered="false" + eType="#//BasicTypes" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//BasicTypes/basicType"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="BasicTypes"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of basic types for data attributes introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tBasicTypes"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="basicType" lowerBound="1" - upperBound="-1" eType="#//BasicType" containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="basicType" ordered="false" + upperBound="-1" eType="#//BasicType" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//BasicType/basicTypes"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="BasicType"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/basicTypes"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="CBKind"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Enumeration of control block kinds."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tCBKind"/> </eAnnotations> @@ -482,31 +408,31 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="CDC" eSuperTypes="#//TitledClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Common Data Class (CDC). It is always non-abstract."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tCDC"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="subDataObject" upperBound="-1" - eType="#//SubDataObject" containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="subDataObject" ordered="false" + upperBound="-1" eType="#//SubDataObject" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//SubDataObject/cDC"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="SubDataObject"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="dataAttribute" lowerBound="1" - upperBound="-1" eType="#//DataAttribute" containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="dataAttribute" ordered="false" + upperBound="-1" eType="#//DataAttribute" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//DataAttribute/cDC"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="DataAttribute"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="serviceParameter" eType="#//ServiceParameter" - containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceParameter" ordered="false" + eType="#//ServiceParameter" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//ServiceParameter/cDC"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceParameter"/> @@ -515,18 +441,13 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="enumParameterized" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this CDC has at least one child data attribute of typeKind ENUMERATION but its exact enumeration type is left open."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="enumParameterized"/> </eAnnotations> </eStructuralFeatures> - <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 common data class."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> @@ -534,9 +455,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="statistics" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether DataObject of this CDC can be used for statistics."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="statistics"/> @@ -545,65 +463,52 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKindParameterized" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this CDC has at least one child data attribute with typeKind "undefined".
Cannot be set to true at the same time as sibling attribute enumParameterized."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="typeKindParameterized"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="variant" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Identification of the variant of the CDC (e.g., SPG_SP)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="variant" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="variant"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="cDCs" ordered="false" eType="#//CDCs" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDCs/cDC"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="CDCs"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of CDCs introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tCDCs"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" upperBound="-1" eType="#//CDC" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a common data class."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" upperBound="-1" + eType="#//CDC" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//CDC/cDCs"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="CDC"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/cDCs"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Changes" eSuperTypes="#//NSDObjectWithVersionAndRelease"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Namespace history, e.g., which version it is based on and which TISSUES it includes since then."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tChanges"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="changesID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a textual description of changes (not TISSUE list). Shall only be used for private namespaces."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="changesID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="changesID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Date"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The date since the Tissues have been logged."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="date" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Date" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="date"/> @@ -611,83 +516,77 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace this NSD file is based on, per default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="tissues" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Comma-separated list of TISSUE numbers that were implemented since the previous namespace version/revision/release."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="tissues" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="tissues"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/changes"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/changes"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ConstructedAttribute" eSuperTypes="#//TitledClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a constructed (structured) data attribute."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tConstructedAttribute"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="subDataAttribute" lowerBound="1" - upperBound="-1" eType="#//SubDataAttribute" containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="subDataAttribute" ordered="false" + upperBound="-1" eType="#//SubDataAttribute" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//SubDataAttribute/constructedAttribute"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="SubDataAttribute"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <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 constructed (structured) data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttributes" + ordered="false" eType="#//ConstructedAttributes" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//ConstructedAttributes/constructedAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceTypeRealizations" + ordered="false" eType="#//ServiceTypeRealizations" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//ServiceTypeRealizations/serviceTypeRealization"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ConstructedAttributes"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Constructed Attributes introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tConstructedAttributes"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttribute" upperBound="-1" - eType="#//ConstructedAttribute" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a constructed (structured) data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttribute" ordered="false" + upperBound="-1" eType="#//ConstructedAttribute" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ConstructedAttribute/constructedAttributes"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ConstructedAttribute"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/constructedAttributes"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Copyrighted"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Add description for a copyrighted XML."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tCopyrighted"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="copyright" eType="#//CopyrightNotice" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The copyright notice attached to the XML"/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="copyright" ordered="false" + eType="#//CopyrightNotice" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//CopyrightNotice/copyrighted"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Copyright"/> @@ -696,40 +595,33 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="CopyrightNotice"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Copyright notice definition."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tCopyrightNotice"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="notice" lowerBound="1" - eType="#//Notice" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The textual copyright notice."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="notice" ordered="false" + eType="#//Notice" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Notice/copyrightNotice"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Notice"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="license" lowerBound="1" - eType="#//License" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The license definition."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="license" ordered="false" + eType="#//License" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//License/copyrightNotice"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="License"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="copyrighted" ordered="false" + eType="#//Copyrighted" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//Copyrighted/copyright"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataAttribute" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Data Attribute."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tDataAttribute"/> <details key="kind" value="empty"/> @@ -741,10 +633,8 @@ <details key="name" value="dchg"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Default value for the data attribute. May only be defined for data attributes with typeKind="BASIC" or "ENUMERATED"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="defaultValue"/> @@ -757,10 +647,8 @@ <details key="name" value="dupd"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" 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="Functional constraint of the data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="fc"/> @@ -768,27 +656,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether the element is an array. By default, not an array."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="isArray"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" 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 Attribute holding the maximal index of the array.
Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="maxIndexAttribute"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Allowed maximal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="maxValue"/> @@ -796,27 +677,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="minIndex" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt" defaultValueLiteral="0" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Lowest index of the array.
Is relevant information if and only if isArray=true.
By default 0."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="minIndex"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Allowed minimal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="minValue"/> </eAnnotations> </eStructuralFeatures> - <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 data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> @@ -824,27 +698,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCond"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgs"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgsID"/> @@ -857,19 +724,15 @@ <details key="name" value="qchg"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Sibling data attribute name holding the size of the array.
Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="sizeAttribute"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="type"/> @@ -877,55 +740,42 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKind" eType="#//AttributeTypeKind" defaultValueLiteral="BASIC" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The kind of the data attribute's type. By default, "BASIC"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="typeKind"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/dataAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Data Object of a logical node."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tDataObject"/> <details key="kind" value="empty"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="dsPresCond"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="dsPresCondArgs"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="dsPresCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="dsPresCondArgsID"/> </eAnnotations> </eStructuralFeatures> - <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 data object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> @@ -933,27 +783,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCond"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgs"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgsID"/> @@ -961,27 +804,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this data object is transient. By default, it is not."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="transient"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" 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="Type of the data object, i.e., the name of the CDC."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="type"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Type to be used for type-open CDCs, e.g., enumeration to be used for enumeration-based CDCs (e.g., ENS, ENC, ENG)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="underlyingType"/> @@ -989,38 +825,31 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingTypeKind" eType="#//DefinedAttributeTypeKind" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The typeKind to be used for all "undefined" attributes of the CDC of this DataObject."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="underlyingTypeKind"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="anyLNClass" ordered="false" + eType="#//AnyLNClass" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//AnyLNClass/dataObject"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataSetMemberOf"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Indication of a given object can be a data set member of a given control block."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tDataSetMemberOf"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="cb" lowerBound="1" eType="#//CBKind" - unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Control block kind."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="cb" eType="#//CBKind" unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="cb"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" ordered="false" + eType="#//ApplicableServices" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ApplicableServices/dataSetMemberOf"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="DefinedAttributeTypeKind"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Type kind of a data attribute."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tDefinedAttributeTypeKind"/> </eAnnotations> @@ -1047,9 +876,6 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Doc"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="A key-value pair for documentation. Attribute "id" is the key (the documentation string identifier) and the value of the element is the documentation string itself."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tDoc"/> <details key="kind" value="mixed"/> @@ -1080,38 +906,31 @@ <details key="group" value="#group:1"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the documentation string."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nSDoc" ordered="false" + eType="#//NSDoc" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//NSDoc/doc"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="A class with description."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tDocumentedClass"/> <details key="kind" value="empty"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="deprecated" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this object is classified as deprecated or not. By default not deprecated."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="deprecated"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> @@ -1119,9 +938,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="informative" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this object is classified as informative or not. By default not informative."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="informative"/> @@ -1129,129 +945,114 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Enumeration" eSuperTypes="#//TitledClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of an enumeration."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tEnumeration"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="literal" lowerBound="1" - upperBound="-1" eType="#//Literal" containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="literal" ordered="false" + upperBound="-1" eType="#//Literal" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Literal/enumeration"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Literal"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="inheritedFrom" 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 enumeration which is extended by the current enumeration."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="inheritedFrom" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="inheritedFrom"/> </eAnnotations> </eStructuralFeatures> - <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 enumeration."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="enumerations" ordered="false" + eType="#//Enumerations" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//Enumerations/enumeration"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Enumerations"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Enumerations introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tEnumerations"/> <details key="kind" value="elementOnly"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" upperBound="-1" - eType="#//Enumeration" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of an enumeration."/> - </eAnnotations> + eType="#//Enumeration" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Enumeration/enumerations"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Enumeration"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/enumerations"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="FunctionalConstraint"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Functional Constraint."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tFunctionalConstraint"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" eType="#//ApplicableServices" - containment="true" resolveProxies="false"> + <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServices" ordered="false" + eType="#//ApplicableServices" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//ApplicableServices/functionalConstraint"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ApplicableServices"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="abbreviation" 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="Abbreviated name of the FC (e.g., ST, MX, etc.)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="abbreviation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="abbreviation"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to the title (alias) of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="titleID"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints" + ordered="false" eType="#//FunctionalConstraints" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//FunctionalConstraints/functionalConstraint"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="FunctionalConstraints"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Functional Constraints introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tFunctionalConstraints"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraint" lowerBound="1" - upperBound="-1" eType="#//FunctionalConstraint" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Functional Constraint."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraint" ordered="false" + upperBound="-1" eType="#//FunctionalConstraint" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//FunctionalConstraint/functionalConstraints"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="FunctionalConstraint"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/functionalConstraints"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/functionalConstraints"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="License"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Describe the license definition."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tLicense"/> <details key="kind" value="mixed"/> @@ -1265,28 +1066,23 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//LicenseKind" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="kind of license"/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="kind"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="path to the license file"/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="uri"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="copyrightNotice" ordered="false" + eType="#//CopyrightNotice" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//CopyrightNotice/license"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="LicenseKind"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Kind of license"/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tLicenseKind"/> </eAnnotations> @@ -1301,24 +1097,19 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a literal of an enumeration."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tLiteral"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="literalVal" lowerBound="1" - eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Enumeration literal integer value."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="literalVal" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="literalVal"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="Name of the enumeration's literal."/> </eAnnotations> @@ -1327,20 +1118,17 @@ <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" ordered="false" + eType="#//Enumeration" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//Enumeration/literal"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="LNClass" eSuperTypes="#//AnyLNClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a concrete (i.e., not abstract) logical node and its contents. At most one of "base" and "isExtension" shall be defined."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tLNClass"/> <details key="kind" value="elementOnly"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="canHaveLOG" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether a LOG can be allocated to this logical node. By default, false."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="canHaveLOG"/> @@ -1348,59 +1136,49 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isExtension" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this logical node is an extension of another non-abstract logical node (with the same LN class name) defined in a namespace this one imports."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="isExtension"/> </eAnnotations> </eStructuralFeatures> - <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="The logical node class name."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false" + eType="#//LNClasses" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//LNClasses/lNClass"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="LNClasses"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of LNClasses introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tLNClasses"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="abstractLNClass" upperBound="-1" - eType="#//AbstractLNClass" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of an abstract logical node."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="abstractLNClass" ordered="false" + upperBound="-1" eType="#//AbstractLNClass" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//AbstractLNClass/lNClasses"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="AbstractLNClass"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="lNClass" upperBound="-1" - eType="#//LNClass" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a (non-abstract) logical node."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="lNClass" ordered="false" + upperBound="-1" eType="#//LNClass" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//LNClass/lNClasses"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="LNClass"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/lNClasses"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Notice"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Textual notice"/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tNotice"/> <details key="kind" value="mixed"/> @@ -1412,42 +1190,36 @@ <details key="name" value=":mixed"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="copyrightNotice" ordered="false" + eType="#//CopyrightNotice" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//CopyrightNotice/notice"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NS" eSuperTypes="#//Copyrighted #//NSDObjectWithVersionAndRelease"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tNS"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="changes" eType="#//Changes" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The version/revision/release this namespace is based on, including the TISSUEs implemented in this release."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="changes" ordered="false" + eType="#//Changes" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Changes/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Changes"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" eType="#//DependsOnType" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The namespace identification this namespace depends on (and whose definitions are imported into this one)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" ordered="false" + eType="#//DependsOn" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//DependsOn/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="DependsOn"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="basicTypes" eType="#//BasicTypes" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of basic types added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones). Note: shall only be used in practice by the 7-2 namespace."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="basicTypes" ordered="false" + eType="#//BasicTypes" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//BasicTypes/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="BasicTypes"/> @@ -1455,43 +1227,35 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints" - eType="#//FunctionalConstraints" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Functional Constraints added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones)."/> - </eAnnotations> + ordered="false" eType="#//FunctionalConstraints" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//FunctionalConstraints/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="FunctionalConstraints"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" eType="#//PresenceConditions" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of presence conditions added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones.)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false" + eType="#//PresenceConditions" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//PresenceConditions/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="PresenceConditions"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" eType="#//Abbreviations" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of abbreviations added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" ordered="false" + eType="#//Abbreviations" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Abbreviations/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Abbreviations"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="enumerations" eType="#//Enumerations" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Enumerations added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="enumerations" ordered="false" + eType="#//Enumerations" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Enumerations/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Enumerations"/> @@ -1499,51 +1263,40 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttributes" - eType="#//ConstructedAttributes" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Constructed Attributes added by this namespace. Constructed Attributes are not allowed to be extended by another namespace. Note: shall only be used in practice by the 7-3"/> - </eAnnotations> + ordered="false" eType="#//ConstructedAttributes" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ConstructedAttributes/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ConstructedAttributes"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="cDCs" eType="#//CDCs" containment="true" - resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of CDCs added by this namespace. CDCs are not allowed to be extended by another namespace. Note: shall only be used in practice by the 7-3"/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="cDCs" ordered="false" eType="#//CDCs" + unsettable="true" containment="true" resolveProxies="false" eOpposite="#//CDCs/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="CDCs"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" eType="#//LNClasses" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of LNClasses added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="lNClasses" ordered="false" + eType="#//LNClasses" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//LNClasses/nS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="LNClasses"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this NS."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> @@ -1551,9 +1304,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage" defaultValueLiteral="IS" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The publication stage of the namespace, by default IS."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="publicationStage"/> @@ -1561,27 +1311,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace version, by default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="UTC Date and time of the UML version from which this namespace definition file was generated. Shall be provided if umlVersion is present. Format: YYYY-MM-DDThh:mm:ssZ, where: YYYY indicates the year, MM indicates the month, DD indicates the day, T indicates the start of the required time section, hh indicates the hour, mm indicates the minute, ss indicates the second, and Z the UTC time stamp indication.
"/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="umlDate"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Version of UML from which this namespace definition file was generated from."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="umlVersion"/> @@ -1589,37 +1332,28 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NSDoc" eSuperTypes="#//Copyrighted #//NSDObjectWithVersionAndRelease"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="A non-empty list of tDoc elements."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tNSDoc"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="doc" lowerBound="1" upperBound="-1" - eType="#//Doc" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of documentation identifiers and corresponding documentation strings in the corresponding language."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="doc" ordered="false" upperBound="-1" + eType="#//Doc" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Doc/nSDoc"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Doc"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Language of the documentation strings in the file."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="lang" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Language" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="lang"/> @@ -1627,9 +1361,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage" defaultValueLiteral="IS" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The publication stage of the namespace, by default IS."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="publicationStage"/> @@ -1637,27 +1368,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace version, by default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="UTC Date and time of the UML version from which this namespace definition file was generated. Shall be provided if umlVersion is present. Format: YYYY-MM-DDThh:mm:ssZ, where: YYYY indicates the year, MM indicates the month, DD indicates the day, T indicates the start of the required time section, hh indicates the hour, mm indicates the minute, ss indicates the second, and Z the UTC time stamp indication.
"/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="umlDate"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Version of UML from which this namespace definition file was generated from."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="umlVersion"/> @@ -1665,74 +1389,63 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PresenceCondition"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a presence condition."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tPresenceCondition"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="argument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The presence condition argument, if any."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="argument" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="argument"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> </eAnnotations> </eStructuralFeatures> - <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 presence condition, as used in IEC 61850 data models."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to the title (alias) of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="titleID"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false" + eType="#//PresenceConditions" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//PresenceConditions/presenceCondition"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PresenceConditions"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of presence conditions which are introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tPresenceConditions"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="presenceCondition" lowerBound="1" - upperBound="-1" eType="#//PresenceCondition" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a presence condition."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="presenceCondition" ordered="false" + upperBound="-1" eType="#//PresenceCondition" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//PresenceCondition/presenceConditions"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="PresenceCondition"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="nS" ordered="false" eType="#//NS" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//NS/presenceConditions"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/presenceConditions"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="PubStage"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Publication stage of the namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tPubStage"/> </eAnnotations> @@ -1789,67 +1502,56 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceCDC"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a CDC extension for control services."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceCDC"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="serviceDataAttribute" lowerBound="1" - upperBound="-1" eType="#//ServiceDataAttribute" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Data attribute to be used as service parameter."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceDataAttribute" ordered="false" + upperBound="-1" eType="#//ServiceDataAttribute" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ServiceDataAttribute/serviceCDC"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceDataAttribute"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="cdc" 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 common data class the service extension is for."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="cdc" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="cdc"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="variant" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Identification of the variant of the CDC (e.g., SPG_SP)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="variant" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="variant"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDCs" ordered="false" + eType="#//ServiceCDCs" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceCDCs/serviceCDC"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceCDCs"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Service CDCs introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceCDCs"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDC" upperBound="-1" - eType="#//ServiceCDC" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="CDC extensions for control in this service namespace."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDC" ordered="false" + upperBound="-1" eType="#//ServiceCDC" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ServiceCDC/serviceCDCs"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceCDC"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/serviceCDCs"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceConstructedAttribute" eSuperTypes="#//ConstructedAttribute"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a constructed attribute type for services."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceConstructedAttribute"/> <details key="kind" value="elementOnly"/> @@ -1857,57 +1559,47 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKindParameterized" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether this ServiceConstructedAttribute has at least one child data attribute with typeKind "undefined"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="typeKindParameterized"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceConstructedAttribute" + ordered="false" eType="#//ServiceConstructedAttributes" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//ServiceConstructedAttributes/serviceConstructedAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceConstructedAttributes"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Service Constructed Attributes introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceConstructedAttributes"/> <details key="kind" value="elementOnly"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="serviceConstructedAttribute" - upperBound="-1" eType="#//ServiceConstructedAttribute" containment="true" - resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Realization of Part 7-2 abstract types or constructed attributes needed for control services. Note: in SCL instance files, the ProtNs element shall be specified for these."/> - </eAnnotations> + ordered="false" upperBound="-1" eType="#//ServiceConstructedAttribute" unsettable="true" + containment="true" resolveProxies="false" eOpposite="#//ServiceConstructedAttribute/serviceConstructedAttribute"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceConstructedAttribute"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/serviceConstructedAttributes"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceDataAttribute" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a service parameter as Data Attribute."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceDataAttribute"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" 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="Functional constraint of the data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="fc"/> </eAnnotations> </eStructuralFeatures> - <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 data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> @@ -1915,36 +1607,27 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCond"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgs"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgsID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="type"/> @@ -1952,18 +1635,13 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKind" eType="#//AttributeTypeKind" defaultValueLiteral="BASIC" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The kind of the data attribute's type. By default, "BASIC"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="typeKind"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Type to be used for type-open CDCs, e.g., enumeration to be used for enumeration-based CDCs (e.g., ENS, ENC, ENG)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="underlyingType"/> @@ -1971,28 +1649,23 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingTypeKind" eType="#//DefinedAttributeTypeKind" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The typeKind to be used for all "undefined" attributes of the CDC of this DataObject."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="underlyingTypeKind"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDC" ordered="false" + eType="#//ServiceCDC" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceCDC/serviceDataAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceNS" eSuperTypes="#//Copyrighted #//NSDObjectWithVersionAndRelease"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a service namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceNS"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="changes" eType="#//Changes" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The version/revision/release this namespace is based on, including the TISSUEs implemented in this release."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="changes" ordered="false" + eType="#//Changes" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Changes/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Changes"/> @@ -2000,32 +1673,26 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints" - eType="#//FunctionalConstraints" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Functional Constraints added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + ordered="false" eType="#//FunctionalConstraints" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//FunctionalConstraints/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="FunctionalConstraints"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" eType="#//PresenceConditions" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of presence conditions added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false" + eType="#//PresenceConditions" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//PresenceConditions/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="PresenceConditions"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" eType="#//Abbreviations" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of abbreviations added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="abbreviations" ordered="false" + eType="#//Abbreviations" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//Abbreviations/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="Abbreviations"/> @@ -2033,10 +1700,8 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="serviceTypeRealizations" - eType="#//ServiceTypeRealizations" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of service type realization added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + ordered="false" eType="#//ServiceTypeRealizations" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//ServiceTypeRealizations/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceTypeRealizations"/> @@ -2044,40 +1709,32 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="serviceConstructedAttributes" - eType="#//ServiceConstructedAttributes" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of service constructed attributes added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + ordered="false" eType="#//ServiceConstructedAttributes" unsettable="true" + containment="true" resolveProxies="false" eOpposite="#//ServiceConstructedAttributes/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceConstructedAttributes"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDCs" eType="#//ServiceCDCs" - containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of service CDCs added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceCDCs" ordered="false" + eType="#//ServiceCDCs" unsettable="true" containment="true" resolveProxies="false" + eOpposite="#//ServiceCDCs/serviceNS"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceCDCs"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Documentation identifier referring to a full description of this NS."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="descID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="descID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> @@ -2085,9 +1742,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage" defaultValueLiteral="IS" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The publication stage of the namespace, by default IS."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="publicationStage"/> @@ -2095,27 +1749,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace version, by default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="UTC Date and time of the UML version from which this namespace definition file was generated. Shall be provided if umlVersion is present. Format: YYYY-MM-DDThh:mm:ssZ, where: YYYY indicates the year, MM indicates the month, DD indicates the day, T indicates the start of the required time section, hh indicates the hour, mm indicates the minute, ss indicates the second, and Z the UTC time stamp indication.
"/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlDate" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//DateTime" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="umlDate"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Version of UML from which this namespace definition file was generated from."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="umlVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="umlVersion"/> @@ -2123,28 +1770,21 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceNsUsage" eSuperTypes="#//NSDObjectWithVersionAndRelease"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Describes the list of (domain) NS for which a ServiceNS is applicable."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceNsUsage"/> <details key="kind" value="elementOnly"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="appliesTo" lowerBound="1" - upperBound="-1" eType="#//AppliesToType" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="References to namespaces this ServiceNS can be used with."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EReference" name="appliesTo" ordered="false" + upperBound="-1" eType="#//AppliesToType" unsettable="true" containment="true" + resolveProxies="false" eOpposite="#//AppliesToType/serviceNsUsage"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="AppliesTo"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" 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="Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="id"/> @@ -2152,9 +1792,6 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationStage" eType="#//PubStage" defaultValueLiteral="IS" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The publication stage of the namespace, by default IS."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="publicationStage"/> @@ -2162,137 +1799,49 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="revision" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="A" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Revision of the namespace version, by default 'A'."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="revision"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="applicableServiceNS" ordered="false" + eType="#//ApplicableServiceNS" transient="true" unsettable="true" eOpposite="#//ApplicableServiceNS/serviceNsUsage"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceParameter" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of the service parameter for control services."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceParameter"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Default value for the data attribute. May only be defined for data attributes with typeKind="BASIC" or "ENUMERATED"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="defaultValue"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Allowed maximal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="maxValue"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Allowed minimal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="minValue"/> </eAnnotations> </eStructuralFeatures> - <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 data attribute."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="name"/> - </eAnnotations> - </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="type"/> - </eAnnotations> - </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKind" eType="#//AttributeTypeKind" - defaultValueLiteral="BASIC" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The kind of the data attribute's type. By default, "BASIC"."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="typeKind"/> - </eAnnotations> - </eStructuralFeatures> - </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="ServiceTypeRealization"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of the realization of an abstract type as constructed attribute in the service namespace."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="name" value="tServiceTypeRealization"/> - <details key="kind" value="empty"/> - </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="fc" 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="Functional constraint of the data attribute."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="fc"/> - </eAnnotations> - </eStructuralFeatures> - <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 data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" - defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="presCond"/> - </eAnnotations> - </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="presCondArgs"/> - </eAnnotations> - </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> - <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> - <details key="kind" value="attribute"/> - <details key="name" value="presCondArgsID"/> - </eAnnotations> - </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="type"/> @@ -2300,47 +1849,39 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKind" eType="#//AttributeTypeKind" defaultValueLiteral="BASIC" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The kind of the data attribute's type. By default, "BASIC"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="typeKind"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/serviceParameter"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="ServiceTypeRealizations"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="List of Service Type Realizations introduced by a namespace."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tServiceTypeRealizations"/> <details key="kind" value="elementOnly"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="serviceTypeRealization" - upperBound="-1" eType="#//ConstructedAttribute" containment="true" resolveProxies="false"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Realization of an abstract type as constructed attribute in the service namespace."/> - </eAnnotations> + ordered="false" upperBound="-1" eType="#//ConstructedAttribute" unsettable="true" + containment="true" resolveProxies="false" eOpposite="#//ConstructedAttribute/serviceTypeRealizations"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="element"/> <details key="name" value="ServiceTypeRealization"/> <details key="namespace" value="##targetNamespace"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="serviceNS" ordered="false" + eType="#//ServiceNS" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ServiceNS/serviceTypeRealizations"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="SubDataAttribute" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Sub Data Attribute (within a constructed data attribute)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tSubDataAttribute"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Default value for the data attribute. May only be defined for data attributes with typeKind="BASIC" or "ENUMERATED"."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="defaultValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//NormalizedString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="defaultValue"/> @@ -2348,27 +1889,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether the element is an array. By default, not an array."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="isArray"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" 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 Attribute holding the maximal index of the array.
Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="maxIndexAttribute"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Allowed maximal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="maxValue"/> @@ -2376,27 +1910,20 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="minIndex" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt" defaultValueLiteral="0" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Lowest index of the array.
Is relevant information if and only if isArray=true.
By default 0."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="minIndex"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Allowed minimal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="minValue" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="minValue"/> </eAnnotations> </eStructuralFeatures> - <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 data attribute."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> @@ -2404,45 +1931,34 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCond"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgs"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgsID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Sibling data attribute name holding the size of the array.
Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="sizeAttribute"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="type"/> @@ -2450,37 +1966,29 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeKind" eType="#//AttributeTypeKind" defaultValueLiteral="BASIC" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The kind of the data attribute's type. By default, "BASIC"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="typeKind"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="constructedAttribute" ordered="false" + eType="#//ConstructedAttribute" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//ConstructedAttribute/subDataAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="SubDataObject" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Definition of a Sub-Data Object."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tSubDataObject"/> <details key="kind" value="empty"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="isArray" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Boolean" defaultValueLiteral="false" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Flag indicating whether the element is an array. By default, not an array."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="isArray"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" 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 Attribute holding the maximal index of the array.
Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="maxIndexAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="maxIndexAttribute"/> @@ -2488,18 +1996,13 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="minIndex" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//UnsignedInt" defaultValueLiteral="0" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Lowest index of the array.
Is relevant information if and only if isArray=true.
By default 0."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="minIndex"/> </eAnnotations> </eStructuralFeatures> - <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 Sub-Data Object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="name"/> @@ -2507,54 +2010,41 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCond" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" defaultValueLiteral="M" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Presence condition of the element. By default 'M' (mandatory)."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCond"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition. Can be a sibling element or a group number."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgs" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgs"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Optional argument to the presence condition: a documentation identifier referring to some free text."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="presCondArgsID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="presCondArgsID"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Sibling data attribute name holding the size of the array.
Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="sizeAttribute" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="sizeAttribute"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" 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="Type of the SubDataObject, i.e., its CDC."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="type"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Type to be used for type-open CDCs, e.g., enumeration to be used for enumeration-based CDCs (e.g., ENS, ENC, ENG)."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="underlyingType"/> @@ -2562,28 +2052,21 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EAttribute" name="underlyingTypeKind" eType="#//DefinedAttributeTypeKind" unsettable="true"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="The typeKind to be used for all "undefined" attributes of the CDC of this DataObject."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="underlyingTypeKind"/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC" + transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/subDataObject"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TitledClass" eSuperTypes="#//DocumentedClass"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="A tDocumentedClass with title."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tTitledClass"/> <details key="kind" value="empty"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" 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="Documentation identifier referring to the title (alias) of this object."/> - </eAnnotations> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="titleID" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" + unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> <details key="name" value="titleID"/> @@ -2591,9 +2074,6 @@ </eStructuralFeatures> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="UndefinedAttributeTypeKind"> - <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> - <details key="documentation" value="Type kind for a data attribute which has its type "undefined"."/> - </eAnnotations> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="name" value="tUndefinedAttributeTypeKind"/> </eAnnotations> @@ -2618,8 +2098,7 @@ <details key="name" value="release"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" lowerBound="1" - eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject" + <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject" unsettable="true"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> <details key="kind" value="attribute"/> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel index 2162aef..7699dd1 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel @@ -111,34 +111,40 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AppliesToType/id"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AppliesToType/publicationStage"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AppliesToType/revision"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//AppliesToType/serviceNsUsage"/> </genClasses> - <genClasses ecoreClass="nsd.ecore#//DependsOnType"> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DependsOnType/id"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DependsOnType/publicationStage"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DependsOnType/revision"/> + <genClasses ecoreClass="nsd.ecore#//DependsOn"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DependsOn/id"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DependsOn/publicationStage"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DependsOn/revision"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DependsOn/nS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DocumentRoot"> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DocumentRoot/mixed"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/xMLNSPrefixMap"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/xSISchemaLocation"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/applicableServiceNS"/> - <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/copyright"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/nS"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/nSDoc"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//DocumentRoot/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceType"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceType/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceType/applicableServices"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Abbreviation"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Abbreviation/descID"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Abbreviation/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Abbreviation/abbreviations"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Abbreviations"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//Abbreviations/abbreviation"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Abbreviations/nS"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Abbreviations/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//AbstractLNClass"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AbstractLNClass/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//AbstractLNClass/lNClasses"/> </genClasses> <genClasses image="false" ecoreClass="nsd.ecore#//AnyLNClass"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//AnyLNClass/dataObject"/> @@ -152,13 +158,16 @@ <genClasses ecoreClass="nsd.ecore#//ApplicableServices"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ApplicableServices/service"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ApplicableServices/dataSetMemberOf"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ApplicableServices/functionalConstraint"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//BasicType"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//BasicType/descID"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//BasicType/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//BasicType/basicTypes"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//BasicTypes"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//BasicTypes/basicType"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//BasicTypes/nS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//CDC"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//CDC/subDataObject"/> @@ -169,22 +178,29 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//CDC/statistics"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//CDC/typeKindParameterized"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//CDC/variant"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//CDC/cDCs"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//CDCs"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//CDCs/cDC"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//CDCs/nS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Changes"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Changes/changesID"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Changes/date"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Changes/revision"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Changes/tissues"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Changes/nS"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Changes/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ConstructedAttribute"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/subDataAttribute"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ConstructedAttribute/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/constructedAttributes"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/serviceTypeRealizations"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ConstructedAttributes"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttributes/constructedAttribute"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttributes/nS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Copyrighted"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//Copyrighted/copyright"/> @@ -192,6 +208,7 @@ <genClasses ecoreClass="nsd.ecore#//CopyrightNotice"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//CopyrightNotice/notice"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//CopyrightNotice/license"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//CopyrightNotice/copyrighted"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataAttribute"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataAttribute/dchg"/> @@ -211,6 +228,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataAttribute/sizeAttribute"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataAttribute/type"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataAttribute/typeKind"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/cDC"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/dsPresCond"/> @@ -224,15 +242,18 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/type"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/underlyingType"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/underlyingTypeKind"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DataObject/anyLNClass"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataSetMemberOf"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataSetMemberOf/cb"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DataSetMemberOf/applicableServices"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Doc"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute nsd.ecore#//Doc/mixed"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Doc/group"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Doc/any"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Doc/id"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Doc/nSDoc"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DocumentedClass"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DocumentedClass/deprecated"/> @@ -243,39 +264,49 @@ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/literal"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Enumeration/inheritedFrom"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Enumeration/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/enumerations"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Enumerations"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumerations/enumeration"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Enumerations/nS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//FunctionalConstraint"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraint/applicableServices"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//FunctionalConstraint/abbreviation"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//FunctionalConstraint/descID"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//FunctionalConstraint/titleID"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraint/functionalConstraints"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//FunctionalConstraints"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraints/functionalConstraint"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraints/nS"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraints/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//License"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute nsd.ecore#//License/mixed"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//License/kind"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//License/uri"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//License/copyrightNotice"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Literal"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Literal/literalVal"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//Literal/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Literal/enumeration"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//LNClass"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//LNClass/canHaveLOG"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//LNClass/isExtension"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//LNClass/name"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//LNClass/lNClasses"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//LNClasses"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//LNClasses/abstractLNClass"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//LNClasses/lNClass"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//LNClasses/nS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//Notice"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute nsd.ecore#//Notice/mixed"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Notice/copyrightNotice"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//NS"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/changes"/> @@ -309,23 +340,30 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//PresenceCondition/descID"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//PresenceCondition/name"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//PresenceCondition/titleID"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//PresenceCondition/presenceConditions"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//PresenceConditions"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceConditions/presenceCondition"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//PresenceConditions/nS"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//PresenceConditions/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceCDC"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ServiceCDC/serviceDataAttribute"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceCDC/cdc"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceCDC/variant"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceCDC/serviceCDCs"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceCDCs"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ServiceCDCs/serviceCDC"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceCDCs/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceConstructedAttribute"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceConstructedAttribute/typeKindParameterized"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceConstructedAttribute/serviceConstructedAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceConstructedAttributes"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ServiceConstructedAttributes/serviceConstructedAttribute"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceConstructedAttributes/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceDataAttribute"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceDataAttribute/fc"/> @@ -337,6 +375,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceDataAttribute/typeKind"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceDataAttribute/underlyingType"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceDataAttribute/underlyingTypeKind"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceDataAttribute/serviceCDC"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceNS"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ServiceNS/changes"/> @@ -358,6 +397,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceNsUsage/id"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceNsUsage/publicationStage"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceNsUsage/revision"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceNsUsage/applicableServiceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceParameter"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceParameter/defaultValue"/> @@ -366,18 +406,11 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceParameter/name"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceParameter/type"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceParameter/typeKind"/> - </genClasses> - <genClasses ecoreClass="nsd.ecore#//ServiceTypeRealization"> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/fc"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/name"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/presCond"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/presCondArgs"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/presCondArgsID"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/type"/> - <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ServiceTypeRealization/typeKind"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceParameter/cDC"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ServiceTypeRealizations"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ServiceTypeRealizations/serviceTypeRealization"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ServiceTypeRealizations/serviceNS"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//SubDataAttribute"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataAttribute/defaultValue"/> @@ -393,6 +426,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataAttribute/sizeAttribute"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataAttribute/type"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataAttribute/typeKind"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//SubDataAttribute/constructedAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//SubDataObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataObject/isArray"/> @@ -406,6 +440,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataObject/type"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataObject/underlyingType"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataObject/underlyingTypeKind"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//SubDataObject/cDC"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//TitledClass"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//TitledClass/titleID"/> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ACSIServicesKind.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ACSIServicesKind.java index 8858f48..12e088f 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ACSIServicesKind.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ACSIServicesKind.java @@ -30,9 +30,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the literals of the enumeration '<em><b>ACSI Services Kind</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Enumeration holding the names of all ACSI services, as defined in Part 7-2. Is conceptually identical to the 7-2 ServiceNameKind enumeration (except the Unknown). - * <!-- end-model-doc --> * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getACSIServicesKind() * @model extendedMetaData="name='tACSIServicesKind'" * @generated diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviation.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviation.java index cf30387..222e1a1 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviation.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviation.java @@ -26,16 +26,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Abbreviation</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of an abbreviation. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getAbbreviations <em>Abbreviations</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviation() @@ -47,13 +44,13 @@ public interface Abbreviation extends EObject { * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this abbreviation. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviation_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -63,22 +60,46 @@ public interface Abbreviation extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the abbreviation, as used in IEC 61850 data models. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviation_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -89,9 +110,62 @@ public interface Abbreviation extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>Abbreviations</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getAbbreviation <em>Abbreviation</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Abbreviations</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>Abbreviations</em>' container reference. + * @see #setAbbreviations(Abbreviations) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviation_Abbreviations() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getAbbreviation + * @model opposite="abbreviation" resolveProxies="false" unsettable="true" transient="false" ordered="false" + * @generated + */ + Abbreviations getAbbreviations(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getAbbreviations <em>Abbreviations</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Abbreviations</em>' container reference. + * @see #getAbbreviations() + * @generated + */ + void setAbbreviations( Abbreviations value ); + } // Abbreviation diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviations.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviations.java index d01cbfe..f5546fd 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviations.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Abbreviations.java @@ -28,15 +28,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Abbreviations</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of abbreviationss which are introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getAbbreviation <em>Abbreviation</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviations() @@ -47,17 +45,95 @@ public interface Abbreviations extends EObject { /** * Returns the value of the '<em><b>Abbreviation</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getAbbreviations <em>Abbreviations</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of an abbreviation. - * <!-- end-model-doc --> * @return the value of the '<em>Abbreviation</em>' containment reference list. + * @see #isSetAbbreviation() + * @see #unsetAbbreviation() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviations_Abbreviation() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getAbbreviations + * @model opposite="abbreviations" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Abbreviation' namespace='##targetNamespace'" * @generated */ EList< Abbreviation > getAbbreviation(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getAbbreviation <em>Abbreviation</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetAbbreviation() + * @see #getAbbreviation() + * @generated + */ + void unsetAbbreviation(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getAbbreviation <em>Abbreviation</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Abbreviation</em>' containment reference list is set. + * @see #unsetAbbreviation() + * @see #getAbbreviation() + * @generated + */ + boolean isSetAbbreviation(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getAbbreviations <em>Abbreviations</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviations_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getAbbreviations + * @model opposite="abbreviations" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getAbbreviations <em>Abbreviations</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbbreviations_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getAbbreviations + * @model opposite="abbreviations" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // Abbreviations diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java index 7cd2acc..21b99e6 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AbstractLNClass.java @@ -24,15 +24,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>Abstract LN Class</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of an abstract logical node and its contents. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses <em>LN Classes</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbstractLNClass() @@ -44,13 +41,12 @@ public interface AbstractLNClass extends AnyLNClass { * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The name of the abstract logical node. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbstractLNClass_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -61,9 +57,62 @@ public interface AbstractLNClass extends AnyLNClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>LN Classes</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getAbstractLNClass <em>Abstract LN Class</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>LN Classes</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>LN Classes</em>' container reference. + * @see #setLNClasses(LNClasses) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAbstractLNClass_LNClasses() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getAbstractLNClass + * @model opposite="abstractLNClass" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + LNClasses getLNClasses(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses <em>LN Classes</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>LN Classes</em>' container reference. + * @see #getLNClasses() + * @generated + */ + void setLNClasses( LNClasses value ); + } // AbstractLNClass diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java index b197973..a8ce94b 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AnyLNClass.java @@ -26,10 +26,6 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>Any LN Class</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a logical node (abstract or not) and its contents. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -47,30 +43,52 @@ public interface AnyLNClass extends TitledClass { /** * Returns the value of the '<em><b>Data Object</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass <em>Any LN Class</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Child Data Object of the logical node. - * <!-- end-model-doc --> * @return the value of the '<em>Data Object</em>' containment reference list. + * @see #isSetDataObject() + * @see #unsetDataObject() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAnyLNClass_DataObject() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass + * @model opposite="anyLNClass" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='DataObject' namespace='##targetNamespace'" * @generated */ EList< DataObject > getDataObject(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getDataObject <em>Data Object</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDataObject() + * @see #getDataObject() + * @generated + */ + void unsetDataObject(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getDataObject <em>Data Object</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Data Object</em>' containment reference list is set. + * @see #unsetDataObject() + * @see #getDataObject() + * @generated + */ + boolean isSetDataObject(); + /** * Returns the value of the '<em><b>Base</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the abstract LN class this one extends (directly). - * <!-- end-model-doc --> * @return the value of the '<em>Base</em>' attribute. + * @see #isSetBase() + * @see #unsetBase() * @see #setBase(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAnyLNClass_Base() - * @model extendedMetaData="kind='attribute' name='base'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='base'" * @generated */ String getBase(); @@ -80,9 +98,34 @@ public interface AnyLNClass extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Base</em>' attribute. + * @see #isSetBase() + * @see #unsetBase() * @see #getBase() * @generated */ void setBase( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getBase <em>Base</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetBase() + * @see #getBase() + * @see #setBase(String) + * @generated + */ + void unsetBase(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getBase <em>Base</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Base</em>' attribute is set. + * @see #unsetBase() + * @see #getBase() + * @see #setBase(String) + * @generated + */ + boolean isSetBase(); + } // AnyLNClass diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServiceNS.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServiceNS.java index ca79a2d..e5b55ae 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServiceNS.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServiceNS.java @@ -28,10 +28,6 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>Applicable Service NS</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Describes the allowed usages of ServiceNS-es. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -49,30 +45,51 @@ public interface ApplicableServiceNS extends Copyrighted { /** * Returns the value of the '<em><b>Service Ns Usage</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getApplicableServiceNS <em>Applicable Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Specification of a ServiceNS and all NS it can be used for. - * <!-- end-model-doc --> * @return the value of the '<em>Service Ns Usage</em>' containment reference list. + * @see #isSetServiceNsUsage() + * @see #unsetServiceNsUsage() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServiceNS_ServiceNsUsage() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getApplicableServiceNS + * @model opposite="applicableServiceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceNsUsage' namespace='##targetNamespace'" * @generated */ EList< ServiceNsUsage > getServiceNsUsage(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS#getServiceNsUsage <em>Service Ns Usage</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceNsUsage() + * @see #getServiceNsUsage() + * @generated + */ + void unsetServiceNsUsage(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS#getServiceNsUsage <em>Service Ns Usage</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Ns Usage</em>' containment reference list is set. + * @see #unsetServiceNsUsage() + * @see #getServiceNsUsage() + * @generated + */ + boolean isSetServiceNsUsage(); + /** * Returns the value of the '<em><b>Date</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Date of definition of the file. - * <!-- end-model-doc --> * @return the value of the '<em>Date</em>' attribute. + * @see #isSetDate() + * @see #unsetDate() * @see #setDate(XMLGregorianCalendar) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServiceNS_Date() - * @model dataType="org.eclipse.emf.ecore.xml.type.DateTime" required="true" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.DateTime" * extendedMetaData="kind='attribute' name='date'" * @generated */ @@ -83,24 +100,46 @@ public interface ApplicableServiceNS extends Copyrighted { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Date</em>' attribute. + * @see #isSetDate() + * @see #unsetDate() * @see #getDate() * @generated */ void setDate( XMLGregorianCalendar value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS#getDate <em>Date</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDate() + * @see #getDate() + * @see #setDate(XMLGregorianCalendar) + * @generated + */ + void unsetDate(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS#getDate <em>Date</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Date</em>' attribute is set. + * @see #unsetDate() + * @see #getDate() + * @see #setDate(XMLGregorianCalendar) + * @generated + */ + boolean isSetDate(); + /** * Returns the value of the '<em><b>Version</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Version of the file. - * <!-- end-model-doc --> * @return the value of the '<em>Version</em>' attribute. * @see #isSetVersion() * @see #unsetVersion() * @see #setVersion(long) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServiceNS_Version() - * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.UnsignedInt" required="true" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.UnsignedInt" * extendedMetaData="kind='attribute' name='version'" * @generated */ diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServices.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServices.java index 74a82c6..00775b9 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServices.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ApplicableServices.java @@ -28,16 +28,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Applicable Services</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Applicable services for a given functional constraint. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getService <em>Service</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getDataSetMemberOf <em>Data Set Member Of</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getFunctionalConstraint <em>Functional Constraint</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServices() @@ -48,33 +45,105 @@ public interface ApplicableServices extends EObject { /** * Returns the value of the '<em><b>Service</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getApplicableServices <em>Applicable Services</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * If present, indicates that the service with given name applies to attributes with the specified FC (otherwise it may not be used). - * <!-- end-model-doc --> * @return the value of the '<em>Service</em>' containment reference list. + * @see #isSetService() + * @see #unsetService() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServices_Service() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getApplicableServices + * @model opposite="applicableServices" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Service' namespace='##targetNamespace'" * @generated */ EList< ServiceType > getService(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getService <em>Service</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetService() + * @see #getService() + * @generated + */ + void unsetService(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getService <em>Service</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service</em>' containment reference list is set. + * @see #unsetService() + * @see #getService() + * @generated + */ + boolean isSetService(); + /** * Returns the value of the '<em><b>Data Set Member Of</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getApplicableServices <em>Applicable Services</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * An attribute of this FC can be member of a dataset for a control block type indicated by attribute cb if and only if this element is present. - * <!-- end-model-doc --> * @return the value of the '<em>Data Set Member Of</em>' containment reference list. + * @see #isSetDataSetMemberOf() + * @see #unsetDataSetMemberOf() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServices_DataSetMemberOf() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getApplicableServices + * @model opposite="applicableServices" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='DataSetMemberOf' namespace='##targetNamespace'" * @generated */ EList< DataSetMemberOf > getDataSetMemberOf(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getDataSetMemberOf <em>Data Set Member Of</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDataSetMemberOf() + * @see #getDataSetMemberOf() + * @generated + */ + void unsetDataSetMemberOf(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getDataSetMemberOf <em>Data Set Member Of</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Data Set Member Of</em>' containment reference list is set. + * @see #unsetDataSetMemberOf() + * @see #getDataSetMemberOf() + * @generated + */ + boolean isSetDataSetMemberOf(); + + /** + * Returns the value of the '<em><b>Functional Constraint</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getApplicableServices <em>Applicable Services</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Functional Constraint</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>Functional Constraint</em>' container reference. + * @see #setFunctionalConstraint(FunctionalConstraint) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getApplicableServices_FunctionalConstraint() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getApplicableServices + * @model opposite="applicableServices" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + FunctionalConstraint getFunctionalConstraint(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getFunctionalConstraint <em>Functional Constraint</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Functional Constraint</em>' container reference. + * @see #getFunctionalConstraint() + * @generated + */ + void setFunctionalConstraint( FunctionalConstraint value ); + } // ApplicableServices diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java index 2b427bd..e01be26 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/AppliesToType.java @@ -31,6 +31,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId <em>Id</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getPublicationStage <em>Publication Stage</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getServiceNsUsage <em>Service Ns Usage</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType() @@ -42,13 +43,12 @@ public interface AppliesToType extends NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4". - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_Id() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ @@ -59,20 +59,42 @@ public interface AppliesToType extends NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + /** * Returns the value of the '<em><b>Publication Stage</b></em>' attribute. * The default value is <code>"IS"</code>. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The publication stage of the namespace, by default IS. - * <!-- end-model-doc --> * @return the value of the '<em>Publication Stage</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage * @see #isSetPublicationStage() @@ -126,9 +148,6 @@ public interface AppliesToType extends NSDObjectWithVersionAndRelease { * The default value is <code>"A"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace version, by default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() @@ -175,4 +194,32 @@ public interface AppliesToType extends NSDObjectWithVersionAndRelease { */ boolean isSetRevision(); + /** + * Returns the value of the '<em><b>Service Ns Usage</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getAppliesTo <em>Applies To</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service Ns Usage</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>Service Ns Usage</em>' container reference. + * @see #setServiceNsUsage(ServiceNsUsage) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getAppliesToType_ServiceNsUsage() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getAppliesTo + * @model opposite="appliesTo" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNsUsage getServiceNsUsage(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getServiceNsUsage <em>Service Ns Usage</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service Ns Usage</em>' container reference. + * @see #getServiceNsUsage() + * @generated + */ + void setServiceNsUsage( ServiceNsUsage value ); + } // AppliesToType diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicType.java index 6a8bdf8..3581c00 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicType.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicType.java @@ -26,16 +26,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Basic Type</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a basic type for a data attribute. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getBasicTypes <em>Basic Types</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicType() @@ -47,13 +44,13 @@ public interface BasicType extends EObject { * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicType_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -63,22 +60,46 @@ public interface BasicType extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the basic type (e.g., INT32), as used in SCL. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicType_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -89,9 +110,62 @@ public interface BasicType extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>Basic Types</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getBasicType <em>Basic Type</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Basic Types</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>Basic Types</em>' container reference. + * @see #setBasicTypes(BasicTypes) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicType_BasicTypes() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getBasicType + * @model opposite="basicType" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + BasicTypes getBasicTypes(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getBasicTypes <em>Basic Types</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Basic Types</em>' container reference. + * @see #getBasicTypes() + * @generated + */ + void setBasicTypes( BasicTypes value ); + } // BasicType diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicTypes.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicTypes.java index 3b57189..6cd284a 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicTypes.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/BasicTypes.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Basic Types</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of basic types for data attributes introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getBasicType <em>Basic Type</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getNS <em>NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicTypes() @@ -47,6 +44,7 @@ public interface BasicTypes extends EObject { /** * Returns the value of the '<em><b>Basic Type</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getBasicTypes <em>Basic Types</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Basic Type</em>' containment reference list isn't clear, @@ -54,11 +52,63 @@ public interface BasicTypes extends EObject { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Basic Type</em>' containment reference list. + * @see #isSetBasicType() + * @see #unsetBasicType() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicTypes_BasicType() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getBasicTypes + * @model opposite="basicTypes" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='BasicType' namespace='##targetNamespace'" * @generated */ EList< BasicType > getBasicType(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getBasicType <em>Basic Type</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetBasicType() + * @see #getBasicType() + * @generated + */ + void unsetBasicType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getBasicType <em>Basic Type</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Basic Type</em>' containment reference list is set. + * @see #unsetBasicType() + * @see #getBasicType() + * @generated + */ + boolean isSetBasicType(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getBasicTypes <em>Basic Types</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getBasicTypes_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getBasicTypes + * @model opposite="basicTypes" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + } // BasicTypes diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CBKind.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CBKind.java index d9424ed..69842a3 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CBKind.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CBKind.java @@ -30,9 +30,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the literals of the enumeration '<em><b>CB Kind</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Enumeration of control block kinds. - * <!-- end-model-doc --> * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCBKind() * @model extendedMetaData="name='tCBKind'" * @generated diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDC.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDC.java index fc3d8d7..a7b2eb8 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDC.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDC.java @@ -26,10 +26,6 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>CDC</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a Common Data Class (CDC). It is always non-abstract. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -42,6 +38,7 @@ import org.eclipse.emf.common.util.EList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#isStatistics <em>Statistics</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#isTypeKindParameterized <em>Type Kind Parameterized</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getVariant <em>Variant</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getCDCs <em>CD Cs</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC() @@ -52,6 +49,7 @@ public interface CDC extends TitledClass { /** * Returns the value of the '<em><b>Sub Data Object</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC <em>CDC</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Sub Data Object</em>' containment reference list isn't clear, @@ -59,16 +57,41 @@ public interface CDC extends TitledClass { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Sub Data Object</em>' containment reference list. + * @see #isSetSubDataObject() + * @see #unsetSubDataObject() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_SubDataObject() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC + * @model opposite="cDC" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='SubDataObject' namespace='##targetNamespace'" * @generated */ EList< SubDataObject > getSubDataObject(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getSubDataObject <em>Sub Data Object</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSubDataObject() + * @see #getSubDataObject() + * @generated + */ + void unsetSubDataObject(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getSubDataObject <em>Sub Data Object</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Sub Data Object</em>' containment reference list is set. + * @see #unsetSubDataObject() + * @see #getSubDataObject() + * @generated + */ + boolean isSetSubDataObject(); + /** * Returns the value of the '<em><b>Data Attribute</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC <em>CDC</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Data Attribute</em>' containment reference list isn't clear, @@ -76,15 +99,40 @@ public interface CDC extends TitledClass { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Data Attribute</em>' containment reference list. + * @see #isSetDataAttribute() + * @see #unsetDataAttribute() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_DataAttribute() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC + * @model opposite="cDC" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='DataAttribute' namespace='##targetNamespace'" * @generated */ EList< DataAttribute > getDataAttribute(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getDataAttribute <em>Data Attribute</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDataAttribute() + * @see #getDataAttribute() + * @generated + */ + void unsetDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getDataAttribute <em>Data Attribute</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Data Attribute</em>' containment reference list is set. + * @see #unsetDataAttribute() + * @see #getDataAttribute() + * @generated + */ + boolean isSetDataAttribute(); + /** * Returns the value of the '<em><b>Service Parameter</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getCDC <em>CDC</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Service Parameter</em>' containment reference isn't clear, @@ -92,9 +140,12 @@ public interface CDC extends TitledClass { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Service Parameter</em>' containment reference. + * @see #isSetServiceParameter() + * @see #unsetServiceParameter() * @see #setServiceParameter(ServiceParameter) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_ServiceParameter() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getCDC + * @model opposite="cDC" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceParameter' namespace='##targetNamespace'" * @generated */ @@ -105,19 +156,41 @@ public interface CDC extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Service Parameter</em>' containment reference. + * @see #isSetServiceParameter() + * @see #unsetServiceParameter() * @see #getServiceParameter() * @generated */ void setServiceParameter( ServiceParameter value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getServiceParameter <em>Service Parameter</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceParameter() + * @see #getServiceParameter() + * @see #setServiceParameter(ServiceParameter) + * @generated + */ + void unsetServiceParameter(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getServiceParameter <em>Service Parameter</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Parameter</em>' containment reference is set. + * @see #unsetServiceParameter() + * @see #getServiceParameter() + * @see #setServiceParameter(ServiceParameter) + * @generated + */ + boolean isSetServiceParameter(); + /** * Returns the value of the '<em><b>Enum Parameterized</b></em>' attribute. * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this CDC has at least one child data attribute of typeKind ENUMERATION but its exact enumeration type is left open. - * <!-- end-model-doc --> * @return the value of the '<em>Enum Parameterized</em>' attribute. * @see #isSetEnumParameterized() * @see #unsetEnumParameterized() @@ -168,13 +241,12 @@ public interface CDC extends TitledClass { * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the common data class. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -185,19 +257,41 @@ public interface CDC extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Statistics</b></em>' attribute. * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether DataObject of this CDC can be used for statistics. - * <!-- end-model-doc --> * @return the value of the '<em>Statistics</em>' attribute. * @see #isSetStatistics() * @see #unsetStatistics() @@ -249,10 +343,6 @@ public interface CDC extends TitledClass { * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this CDC has at least one child data attribute with typeKind "undefined". - * Cannot be set to true at the same time as sibling attribute enumParameterized. - * <!-- end-model-doc --> * @return the value of the '<em>Type Kind Parameterized</em>' attribute. * @see #isSetTypeKindParameterized() * @see #unsetTypeKindParameterized() @@ -303,13 +393,12 @@ public interface CDC extends TitledClass { * Returns the value of the '<em><b>Variant</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identification of the variant of the CDC (e.g., SPG_SP). - * <!-- end-model-doc --> * @return the value of the '<em>Variant</em>' attribute. + * @see #isSetVariant() + * @see #unsetVariant() * @see #setVariant(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_Variant() - * @model dataType="org.eclipse.emf.ecore.xml.type.Token" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Token" * extendedMetaData="kind='attribute' name='variant'" * @generated */ @@ -320,9 +409,62 @@ public interface CDC extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Variant</em>' attribute. + * @see #isSetVariant() + * @see #unsetVariant() * @see #getVariant() * @generated */ void setVariant( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getVariant <em>Variant</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetVariant() + * @see #getVariant() + * @see #setVariant(String) + * @generated + */ + void unsetVariant(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getVariant <em>Variant</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Variant</em>' attribute is set. + * @see #unsetVariant() + * @see #getVariant() + * @see #setVariant(String) + * @generated + */ + boolean isSetVariant(); + + /** + * Returns the value of the '<em><b>CD Cs</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getCDC <em>CDC</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>CD Cs</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>CD Cs</em>' container reference. + * @see #setCDCs(CDCs) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_CDCs() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getCDC + * @model opposite="cDC" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + CDCs getCDCs(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getCDCs <em>CD Cs</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>CD Cs</em>' container reference. + * @see #getCDCs() + * @generated + */ + void setCDCs( CDCs value ); + } // CDC diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDCs.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDCs.java index a87bae6..3c7cb9e 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDCs.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CDCs.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>CD Cs</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of CDCs introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getCDC <em>CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getNS <em>NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDCs() @@ -47,17 +44,67 @@ public interface CDCs extends EObject { /** * Returns the value of the '<em><b>CDC</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getCDCs <em>CD Cs</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of a common data class. - * <!-- end-model-doc --> * @return the value of the '<em>CDC</em>' containment reference list. + * @see #isSetCDC() + * @see #unsetCDC() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDCs_CDC() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getCDCs + * @model opposite="cDCs" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='CDC' namespace='##targetNamespace'" * @generated */ EList< CDC > getCDC(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getCDC <em>CDC</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCDC() + * @see #getCDC() + * @generated + */ + void unsetCDC(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getCDC <em>CDC</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>CDC</em>' containment reference list is set. + * @see #unsetCDC() + * @see #getCDC() + * @generated + */ + boolean isSetCDC(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getCDCs <em>CD Cs</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDCs_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getCDCs + * @model opposite="cDCs" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + } // CDCs diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java index 1b11ca3..a5dfcd5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Changes.java @@ -26,10 +26,6 @@ import javax.xml.datatype.XMLGregorianCalendar; * A representation of the model object '<em><b>Changes</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Namespace history, e.g., which version it is based on and which TISSUES it includes since then. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -38,6 +34,8 @@ import javax.xml.datatype.XMLGregorianCalendar; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getDate <em>Date</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getRevision <em>Revision</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getTissues <em>Tissues</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges() @@ -49,13 +47,13 @@ public interface Changes extends NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Changes ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a textual description of changes (not TISSUE list). Shall only be used for private namespaces. - * <!-- end-model-doc --> * @return the value of the '<em>Changes ID</em>' attribute. + * @see #isSetChangesID() + * @see #unsetChangesID() * @see #setChangesID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_ChangesID() - * @model extendedMetaData="kind='attribute' name='changesID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='changesID'" * @generated */ String getChangesID(); @@ -65,22 +63,46 @@ public interface Changes extends NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Changes ID</em>' attribute. + * @see #isSetChangesID() + * @see #unsetChangesID() * @see #getChangesID() * @generated */ void setChangesID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getChangesID <em>Changes ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChangesID() + * @see #getChangesID() + * @see #setChangesID(String) + * @generated + */ + void unsetChangesID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getChangesID <em>Changes ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Changes ID</em>' attribute is set. + * @see #unsetChangesID() + * @see #getChangesID() + * @see #setChangesID(String) + * @generated + */ + boolean isSetChangesID(); + /** * Returns the value of the '<em><b>Date</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The date since the Tissues have been logged. - * <!-- end-model-doc --> * @return the value of the '<em>Date</em>' attribute. + * @see #isSetDate() + * @see #unsetDate() * @see #setDate(XMLGregorianCalendar) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_Date() - * @model dataType="org.eclipse.emf.ecore.xml.type.Date" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Date" * extendedMetaData="kind='attribute' name='date'" * @generated */ @@ -91,19 +113,41 @@ public interface Changes extends NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Date</em>' attribute. + * @see #isSetDate() + * @see #unsetDate() * @see #getDate() * @generated */ void setDate( XMLGregorianCalendar value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getDate <em>Date</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDate() + * @see #getDate() + * @see #setDate(XMLGregorianCalendar) + * @generated + */ + void unsetDate(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getDate <em>Date</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Date</em>' attribute is set. + * @see #unsetDate() + * @see #getDate() + * @see #setDate(XMLGregorianCalendar) + * @generated + */ + boolean isSetDate(); + /** * Returns the value of the '<em><b>Revision</b></em>' attribute. * The default value is <code>"A"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace this NSD file is based on, per default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() @@ -154,13 +198,13 @@ public interface Changes extends NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Tissues</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Comma-separated list of TISSUE numbers that were implemented since the previous namespace version/revision/release. - * <!-- end-model-doc --> * @return the value of the '<em>Tissues</em>' attribute. + * @see #isSetTissues() + * @see #unsetTissues() * @see #setTissues(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_Tissues() - * @model extendedMetaData="kind='attribute' name='tissues'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='tissues'" * @generated */ String getTissues(); @@ -170,9 +214,90 @@ public interface Changes extends NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Tissues</em>' attribute. + * @see #isSetTissues() + * @see #unsetTissues() * @see #getTissues() * @generated */ void setTissues( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getTissues <em>Tissues</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetTissues() + * @see #getTissues() + * @see #setTissues(String) + * @generated + */ + void unsetTissues(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getTissues <em>Tissues</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Tissues</em>' attribute is set. + * @see #unsetTissues() + * @see #getTissues() + * @see #setTissues(String) + * @generated + */ + boolean isSetTissues(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getChanges <em>Changes</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getChanges + * @model opposite="changes" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getChanges <em>Changes</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getChanges_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getChanges + * @model opposite="changes" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // Changes diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java index ccf9dea..2837566 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttribute.java @@ -26,16 +26,14 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>Constructed Attribute</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a constructed (structured) data attribute. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getSubDataAttribute <em>Sub Data Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getConstructedAttributes <em>Constructed Attributes</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getServiceTypeRealizations <em>Service Type Realizations</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute() @@ -46,6 +44,7 @@ public interface ConstructedAttribute extends TitledClass { /** * Returns the value of the '<em><b>Sub Data Attribute</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getConstructedAttribute <em>Constructed Attribute</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Sub Data Attribute</em>' containment reference list isn't clear, @@ -53,24 +52,47 @@ public interface ConstructedAttribute extends TitledClass { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Sub Data Attribute</em>' containment reference list. + * @see #isSetSubDataAttribute() + * @see #unsetSubDataAttribute() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute_SubDataAttribute() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getConstructedAttribute + * @model opposite="constructedAttribute" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='SubDataAttribute' namespace='##targetNamespace'" * @generated */ EList< SubDataAttribute > getSubDataAttribute(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getSubDataAttribute <em>Sub Data Attribute</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSubDataAttribute() + * @see #getSubDataAttribute() + * @generated + */ + void unsetSubDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getSubDataAttribute <em>Sub Data Attribute</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Sub Data Attribute</em>' containment reference list is set. + * @see #unsetSubDataAttribute() + * @see #getSubDataAttribute() + * @generated + */ + boolean isSetSubDataAttribute(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the constructed (structured) data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -81,9 +103,90 @@ public interface ConstructedAttribute extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>Constructed Attributes</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getConstructedAttribute <em>Constructed Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Constructed Attributes</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>Constructed Attributes</em>' container reference. + * @see #setConstructedAttributes(ConstructedAttributes) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute_ConstructedAttributes() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getConstructedAttribute + * @model opposite="constructedAttribute" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ConstructedAttributes getConstructedAttributes(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getConstructedAttributes <em>Constructed Attributes</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Constructed Attributes</em>' container reference. + * @see #getConstructedAttributes() + * @generated + */ + void setConstructedAttributes( ConstructedAttributes value ); + + /** + * Returns the value of the '<em><b>Service Type Realizations</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceTypeRealization <em>Service Type Realization</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service Type Realizations</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>Service Type Realizations</em>' container reference. + * @see #setServiceTypeRealizations(ServiceTypeRealizations) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute_ServiceTypeRealizations() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceTypeRealization + * @model opposite="serviceTypeRealization" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceTypeRealizations getServiceTypeRealizations(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getServiceTypeRealizations <em>Service Type Realizations</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service Type Realizations</em>' container reference. + * @see #getServiceTypeRealizations() + * @generated + */ + void setServiceTypeRealizations( ServiceTypeRealizations value ); + } // ConstructedAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttributes.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttributes.java index 2370fbe..a614310 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttributes.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ConstructedAttributes.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Constructed Attributes</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of Constructed Attributes introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getConstructedAttribute <em>Constructed Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getNS <em>NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttributes() @@ -47,17 +44,67 @@ public interface ConstructedAttributes extends EObject { /** * Returns the value of the '<em><b>Constructed Attribute</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getConstructedAttributes <em>Constructed Attributes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of a constructed (structured) data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Constructed Attribute</em>' containment reference list. + * @see #isSetConstructedAttribute() + * @see #unsetConstructedAttribute() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttributes_ConstructedAttribute() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getConstructedAttributes + * @model opposite="constructedAttributes" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ConstructedAttribute' namespace='##targetNamespace'" * @generated */ EList< ConstructedAttribute > getConstructedAttribute(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getConstructedAttribute <em>Constructed Attribute</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetConstructedAttribute() + * @see #getConstructedAttribute() + * @generated + */ + void unsetConstructedAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getConstructedAttribute <em>Constructed Attribute</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Constructed Attribute</em>' containment reference list is set. + * @see #unsetConstructedAttribute() + * @see #getConstructedAttribute() + * @generated + */ + boolean isSetConstructedAttribute(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getConstructedAttributes <em>Constructed Attributes</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttributes_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getConstructedAttributes + * @model opposite="constructedAttributes" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + } // ConstructedAttributes diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CopyrightNotice.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CopyrightNotice.java index 83a8224..32de3bc 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CopyrightNotice.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/CopyrightNotice.java @@ -26,16 +26,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Copyright Notice</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Copyright notice definition. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getNotice <em>Notice</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getLicense <em>License</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getCopyrighted <em>Copyrighted</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCopyrightNotice() @@ -45,15 +42,16 @@ import org.eclipse.emf.ecore.EObject; public interface CopyrightNotice extends EObject { /** * Returns the value of the '<em><b>Notice</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getCopyrightNotice <em>Copyright Notice</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The textual copyright notice. - * <!-- end-model-doc --> * @return the value of the '<em>Notice</em>' containment reference. + * @see #isSetNotice() + * @see #unsetNotice() * @see #setNotice(Notice) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCopyrightNotice_Notice() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getCopyrightNotice + * @model opposite="copyrightNotice" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Notice' namespace='##targetNamespace'" * @generated */ @@ -64,22 +62,48 @@ public interface CopyrightNotice extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Notice</em>' containment reference. + * @see #isSetNotice() + * @see #unsetNotice() * @see #getNotice() * @generated */ void setNotice( Notice value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getNotice <em>Notice</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetNotice() + * @see #getNotice() + * @see #setNotice(Notice) + * @generated + */ + void unsetNotice(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getNotice <em>Notice</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Notice</em>' containment reference is set. + * @see #unsetNotice() + * @see #getNotice() + * @see #setNotice(Notice) + * @generated + */ + boolean isSetNotice(); + /** * Returns the value of the '<em><b>License</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getCopyrightNotice <em>Copyright Notice</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The license definition. - * <!-- end-model-doc --> * @return the value of the '<em>License</em>' containment reference. + * @see #isSetLicense() + * @see #unsetLicense() * @see #setLicense(License) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCopyrightNotice_License() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getCopyrightNotice + * @model opposite="copyrightNotice" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='License' namespace='##targetNamespace'" * @generated */ @@ -90,9 +114,62 @@ public interface CopyrightNotice extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>License</em>' containment reference. + * @see #isSetLicense() + * @see #unsetLicense() * @see #getLicense() * @generated */ void setLicense( License value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getLicense <em>License</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLicense() + * @see #getLicense() + * @see #setLicense(License) + * @generated + */ + void unsetLicense(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getLicense <em>License</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>License</em>' containment reference is set. + * @see #unsetLicense() + * @see #getLicense() + * @see #setLicense(License) + * @generated + */ + boolean isSetLicense(); + + /** + * Returns the value of the '<em><b>Copyrighted</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Copyrighted#getCopyright <em>Copyright</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Copyrighted</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>Copyrighted</em>' container reference. + * @see #setCopyrighted(Copyrighted) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCopyrightNotice_Copyrighted() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Copyrighted#getCopyright + * @model opposite="copyright" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + Copyrighted getCopyrighted(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getCopyrighted <em>Copyrighted</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Copyrighted</em>' container reference. + * @see #getCopyrighted() + * @generated + */ + void setCopyrighted( Copyrighted value ); + } // CopyrightNotice diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Copyrighted.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Copyrighted.java index 3f0d20f..3882b42 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Copyrighted.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Copyrighted.java @@ -26,10 +26,6 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Copyrighted</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Add description for a copyrighted XML. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -44,15 +40,16 @@ import org.eclipse.emf.ecore.EObject; public interface Copyrighted extends EObject { /** * Returns the value of the '<em><b>Copyright</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getCopyrighted <em>Copyrighted</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The copyright notice attached to the XML - * <!-- end-model-doc --> * @return the value of the '<em>Copyright</em>' containment reference. + * @see #isSetCopyright() + * @see #unsetCopyright() * @see #setCopyright(CopyrightNotice) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCopyrighted_Copyright() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getCopyrighted + * @model opposite="copyrighted" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Copyright' namespace='##targetNamespace'" * @generated */ @@ -63,9 +60,34 @@ public interface Copyrighted extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Copyright</em>' containment reference. + * @see #isSetCopyright() + * @see #unsetCopyright() * @see #getCopyright() * @generated */ void setCopyright( CopyrightNotice value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Copyrighted#getCopyright <em>Copyright</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCopyright() + * @see #getCopyright() + * @see #setCopyright(CopyrightNotice) + * @generated + */ + void unsetCopyright(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Copyrighted#getCopyright <em>Copyright</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Copyright</em>' containment reference is set. + * @see #unsetCopyright() + * @see #getCopyright() + * @see #setCopyright(CopyrightNotice) + * @generated + */ + boolean isSetCopyright(); + } // Copyrighted diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java index 2899eab..de130d3 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataAttribute.java @@ -28,10 +28,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the model object '<em><b>Data Attribute</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a Data Attribute. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -53,6 +49,7 @@ import org.eclipse.emf.common.util.Enumerator; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getSizeAttribute <em>Size Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getTypeKind <em>Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC <em>CDC</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute() @@ -119,13 +116,12 @@ public interface DataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Default Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Default value for the data attribute. May only be defined for data attributes with typeKind="BASIC" or "ENUMERATED". - * <!-- end-model-doc --> * @return the value of the '<em>Default Value</em>' attribute. + * @see #isSetDefaultValue() + * @see #unsetDefaultValue() * @see #setDefaultValue(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_DefaultValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" * extendedMetaData="kind='attribute' name='defaultValue'" * @generated */ @@ -136,11 +132,36 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Default Value</em>' attribute. + * @see #isSetDefaultValue() + * @see #unsetDefaultValue() * @see #getDefaultValue() * @generated */ void setDefaultValue( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getDefaultValue <em>Default Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDefaultValue() + * @see #getDefaultValue() + * @see #setDefaultValue(String) + * @generated + */ + void unsetDefaultValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getDefaultValue <em>Default Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Default Value</em>' attribute is set. + * @see #unsetDefaultValue() + * @see #getDefaultValue() + * @see #setDefaultValue(String) + * @generated + */ + boolean isSetDefaultValue(); + /** * Returns the value of the '<em><b>Dupd</b></em>' attribute. * The default value is <code>"false"</code>. @@ -200,13 +221,12 @@ public interface DataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Fc</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Functional constraint of the data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Fc</em>' attribute. + * @see #isSetFc() + * @see #unsetFc() * @see #setFc(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_Fc() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='fc'" * @generated */ @@ -217,19 +237,41 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Fc</em>' attribute. + * @see #isSetFc() + * @see #unsetFc() * @see #getFc() * @generated */ void setFc( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getFc <em>Fc</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetFc() + * @see #getFc() + * @see #setFc(String) + * @generated + */ + void unsetFc(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getFc <em>Fc</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Fc</em>' attribute is set. + * @see #unsetFc() + * @see #getFc() + * @see #setFc(String) + * @generated + */ + boolean isSetFc(); + /** * Returns the value of the '<em><b>Is Array</b></em>' attribute. * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether the element is an array. By default, not an array. - * <!-- end-model-doc --> * @return the value of the '<em>Is Array</em>' attribute. * @see #isSetIsArray() * @see #unsetIsArray() @@ -280,14 +322,13 @@ public interface DataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Max Index Attribute</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the Attribute holding the maximal index of the array. - * Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used. - * <!-- end-model-doc --> * @return the value of the '<em>Max Index Attribute</em>' attribute. + * @see #isSetMaxIndexAttribute() + * @see #unsetMaxIndexAttribute() * @see #setMaxIndexAttribute(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_MaxIndexAttribute() - * @model extendedMetaData="kind='attribute' name='maxIndexAttribute'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='maxIndexAttribute'" * @generated */ String getMaxIndexAttribute(); @@ -297,22 +338,46 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Max Index Attribute</em>' attribute. + * @see #isSetMaxIndexAttribute() + * @see #unsetMaxIndexAttribute() * @see #getMaxIndexAttribute() * @generated */ void setMaxIndexAttribute( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getMaxIndexAttribute <em>Max Index Attribute</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMaxIndexAttribute() + * @see #getMaxIndexAttribute() + * @see #setMaxIndexAttribute(String) + * @generated + */ + void unsetMaxIndexAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getMaxIndexAttribute <em>Max Index Attribute</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Max Index Attribute</em>' attribute is set. + * @see #unsetMaxIndexAttribute() + * @see #getMaxIndexAttribute() + * @see #setMaxIndexAttribute(String) + * @generated + */ + boolean isSetMaxIndexAttribute(); + /** * Returns the value of the '<em><b>Max Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Allowed maximal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number. - * <!-- end-model-doc --> * @return the value of the '<em>Max Value</em>' attribute. + * @see #isSetMaxValue() + * @see #unsetMaxValue() * @see #setMaxValue(BigDecimal) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_MaxValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Decimal" * extendedMetaData="kind='attribute' name='maxValue'" * @generated */ @@ -323,21 +388,41 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Max Value</em>' attribute. + * @see #isSetMaxValue() + * @see #unsetMaxValue() * @see #getMaxValue() * @generated */ void setMaxValue( BigDecimal value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getMaxValue <em>Max Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMaxValue() + * @see #getMaxValue() + * @see #setMaxValue(BigDecimal) + * @generated + */ + void unsetMaxValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getMaxValue <em>Max Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Max Value</em>' attribute is set. + * @see #unsetMaxValue() + * @see #getMaxValue() + * @see #setMaxValue(BigDecimal) + * @generated + */ + boolean isSetMaxValue(); + /** * Returns the value of the '<em><b>Min Index</b></em>' attribute. * The default value is <code>"0"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Lowest index of the array. - * Is relevant information if and only if isArray=true. - * By default 0. - * <!-- end-model-doc --> * @return the value of the '<em>Min Index</em>' attribute. * @see #isSetMinIndex() * @see #unsetMinIndex() @@ -388,13 +473,12 @@ public interface DataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Min Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Allowed minimal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number. - * <!-- end-model-doc --> * @return the value of the '<em>Min Value</em>' attribute. + * @see #isSetMinValue() + * @see #unsetMinValue() * @see #setMinValue(BigDecimal) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_MinValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Decimal" * extendedMetaData="kind='attribute' name='minValue'" * @generated */ @@ -405,22 +489,46 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Min Value</em>' attribute. + * @see #isSetMinValue() + * @see #unsetMinValue() * @see #getMinValue() * @generated */ void setMinValue( BigDecimal value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getMinValue <em>Min Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMinValue() + * @see #getMinValue() + * @see #setMinValue(BigDecimal) + * @generated + */ + void unsetMinValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getMinValue <em>Min Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Min Value</em>' attribute is set. + * @see #unsetMinValue() + * @see #getMinValue() + * @see #setMinValue(BigDecimal) + * @generated + */ + boolean isSetMinValue(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -431,19 +539,41 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Pres Cond</b></em>' attribute. * The default value is <code>"M"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond</em>' attribute. * @see #isSetPresCond() * @see #unsetPresCond() @@ -494,13 +624,13 @@ public interface DataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Pres Cond Args</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #setPresCondArgs(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_PresCondArgs() - * @model extendedMetaData="kind='attribute' name='presCondArgs'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgs'" * @generated */ String getPresCondArgs(); @@ -510,22 +640,47 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #getPresCondArgs() * @generated */ void setPresCondArgs( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getPresCondArgs <em>Pres Cond Args</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + void unsetPresCondArgs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getPresCondArgs <em>Pres Cond Args</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args</em>' attribute is set. + * @see #unsetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + boolean isSetPresCondArgs(); + /** * Returns the value of the '<em><b>Pres Cond Args ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #setPresCondArgsID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_PresCondArgsID() - * @model extendedMetaData="kind='attribute' name='presCondArgsID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgsID'" * @generated */ String getPresCondArgsID(); @@ -535,11 +690,36 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #getPresCondArgsID() * @generated */ void setPresCondArgsID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + void unsetPresCondArgsID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args ID</em>' attribute is set. + * @see #unsetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + boolean isSetPresCondArgsID(); + /** * Returns the value of the '<em><b>Qchg</b></em>' attribute. * The default value is <code>"false"</code>. @@ -599,14 +779,13 @@ public interface DataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Size Attribute</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Sibling data attribute name holding the size of the array. - * Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used. - * <!-- end-model-doc --> * @return the value of the '<em>Size Attribute</em>' attribute. + * @see #isSetSizeAttribute() + * @see #unsetSizeAttribute() * @see #setSizeAttribute(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_SizeAttribute() - * @model extendedMetaData="kind='attribute' name='sizeAttribute'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='sizeAttribute'" * @generated */ String getSizeAttribute(); @@ -616,22 +795,47 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Size Attribute</em>' attribute. + * @see #isSetSizeAttribute() + * @see #unsetSizeAttribute() * @see #getSizeAttribute() * @generated */ void setSizeAttribute( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getSizeAttribute <em>Size Attribute</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSizeAttribute() + * @see #getSizeAttribute() + * @see #setSizeAttribute(String) + * @generated + */ + void unsetSizeAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getSizeAttribute <em>Size Attribute</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Size Attribute</em>' attribute is set. + * @see #unsetSizeAttribute() + * @see #getSizeAttribute() + * @see #setSizeAttribute(String) + * @generated + */ + boolean isSetSizeAttribute(); + /** * Returns the value of the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element. - * <!-- end-model-doc --> * @return the value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #setType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_Type() - * @model extendedMetaData="kind='attribute' name='type'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='type'" * @generated */ String getType(); @@ -641,19 +845,41 @@ public interface DataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #getType() * @generated */ void setType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + void unsetType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getType <em>Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Type</em>' attribute is set. + * @see #unsetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + boolean isSetType(); + /** * Returns the value of the '<em><b>Type Kind</b></em>' attribute. * The default value is <code>"BASIC"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The kind of the data attribute's type. By default, "BASIC". - * <!-- end-model-doc --> * @return the value of the '<em>Type Kind</em>' attribute. * @see #isSetTypeKind() * @see #unsetTypeKind() @@ -700,4 +926,32 @@ public interface DataAttribute extends DocumentedClass { */ boolean isSetTypeKind(); + /** + * Returns the value of the '<em><b>CDC</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getDataAttribute <em>Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>CDC</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>CDC</em>' container reference. + * @see #setCDC(CDC) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_CDC() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getDataAttribute + * @model opposite="dataAttribute" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + CDC getCDC(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC <em>CDC</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>CDC</em>' container reference. + * @see #getCDC() + * @generated + */ + void setCDC( CDC value ); + } // DataAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataObject.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataObject.java index 2a723fe..aead811 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataObject.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataObject.java @@ -24,10 +24,6 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>Data Object</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a Data Object of a logical node. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -43,6 +39,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getUnderlyingType <em>Underlying Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getUnderlyingTypeKind <em>Underlying Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass <em>Any LN Class</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject() @@ -55,9 +52,6 @@ public interface DataObject extends DocumentedClass { * The default value is <code>"M"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> * @return the value of the '<em>Ds Pres Cond</em>' attribute. * @see #isSetDsPresCond() * @see #unsetDsPresCond() @@ -108,13 +102,13 @@ public interface DataObject extends DocumentedClass { * Returns the value of the '<em><b>Ds Pres Cond Args</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> * @return the value of the '<em>Ds Pres Cond Args</em>' attribute. + * @see #isSetDsPresCondArgs() + * @see #unsetDsPresCondArgs() * @see #setDsPresCondArgs(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_DsPresCondArgs() - * @model extendedMetaData="kind='attribute' name='dsPresCondArgs'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='dsPresCondArgs'" * @generated */ String getDsPresCondArgs(); @@ -124,22 +118,47 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Ds Pres Cond Args</em>' attribute. + * @see #isSetDsPresCondArgs() + * @see #unsetDsPresCondArgs() * @see #getDsPresCondArgs() * @generated */ void setDsPresCondArgs( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getDsPresCondArgs <em>Ds Pres Cond Args</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDsPresCondArgs() + * @see #getDsPresCondArgs() + * @see #setDsPresCondArgs(String) + * @generated + */ + void unsetDsPresCondArgs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getDsPresCondArgs <em>Ds Pres Cond Args</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Ds Pres Cond Args</em>' attribute is set. + * @see #unsetDsPresCondArgs() + * @see #getDsPresCondArgs() + * @see #setDsPresCondArgs(String) + * @generated + */ + boolean isSetDsPresCondArgs(); + /** * Returns the value of the '<em><b>Ds Pres Cond Args ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> * @return the value of the '<em>Ds Pres Cond Args ID</em>' attribute. + * @see #isSetDsPresCondArgsID() + * @see #unsetDsPresCondArgsID() * @see #setDsPresCondArgsID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_DsPresCondArgsID() - * @model extendedMetaData="kind='attribute' name='dsPresCondArgsID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='dsPresCondArgsID'" * @generated */ String getDsPresCondArgsID(); @@ -149,22 +168,46 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Ds Pres Cond Args ID</em>' attribute. + * @see #isSetDsPresCondArgsID() + * @see #unsetDsPresCondArgsID() * @see #getDsPresCondArgsID() * @generated */ void setDsPresCondArgsID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getDsPresCondArgsID <em>Ds Pres Cond Args ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDsPresCondArgsID() + * @see #getDsPresCondArgsID() + * @see #setDsPresCondArgsID(String) + * @generated + */ + void unsetDsPresCondArgsID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getDsPresCondArgsID <em>Ds Pres Cond Args ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Ds Pres Cond Args ID</em>' attribute is set. + * @see #unsetDsPresCondArgsID() + * @see #getDsPresCondArgsID() + * @see #setDsPresCondArgsID(String) + * @generated + */ + boolean isSetDsPresCondArgsID(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the data object. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -175,19 +218,41 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Pres Cond</b></em>' attribute. * The default value is <code>"M"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond</em>' attribute. * @see #isSetPresCond() * @see #unsetPresCond() @@ -238,13 +303,13 @@ public interface DataObject extends DocumentedClass { * Returns the value of the '<em><b>Pres Cond Args</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #setPresCondArgs(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_PresCondArgs() - * @model extendedMetaData="kind='attribute' name='presCondArgs'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgs'" * @generated */ String getPresCondArgs(); @@ -254,22 +319,47 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #getPresCondArgs() * @generated */ void setPresCondArgs( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getPresCondArgs <em>Pres Cond Args</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + void unsetPresCondArgs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getPresCondArgs <em>Pres Cond Args</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args</em>' attribute is set. + * @see #unsetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + boolean isSetPresCondArgs(); + /** * Returns the value of the '<em><b>Pres Cond Args ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #setPresCondArgsID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_PresCondArgsID() - * @model extendedMetaData="kind='attribute' name='presCondArgsID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgsID'" * @generated */ String getPresCondArgsID(); @@ -279,19 +369,41 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #getPresCondArgsID() * @generated */ void setPresCondArgsID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + void unsetPresCondArgsID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args ID</em>' attribute is set. + * @see #unsetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + boolean isSetPresCondArgsID(); + /** * Returns the value of the '<em><b>Transient</b></em>' attribute. * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this data object is transient. By default, it is not. - * <!-- end-model-doc --> * @return the value of the '<em>Transient</em>' attribute. * @see #isSetTransient() * @see #unsetTransient() @@ -342,13 +454,12 @@ public interface DataObject extends DocumentedClass { * Returns the value of the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type of the data object, i.e., the name of the CDC. - * <!-- end-model-doc --> * @return the value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #setType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_Type() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='type'" * @generated */ @@ -359,22 +470,47 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #getType() * @generated */ void setType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + void unsetType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getType <em>Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Type</em>' attribute is set. + * @see #unsetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + boolean isSetType(); + /** * Returns the value of the '<em><b>Underlying Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type to be used for type-open CDCs, e.g., enumeration to be used for enumeration-based CDCs (e.g., ENS, ENC, ENG). - * <!-- end-model-doc --> * @return the value of the '<em>Underlying Type</em>' attribute. + * @see #isSetUnderlyingType() + * @see #unsetUnderlyingType() * @see #setUnderlyingType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_UnderlyingType() - * @model extendedMetaData="kind='attribute' name='underlyingType'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='underlyingType'" * @generated */ String getUnderlyingType(); @@ -384,19 +520,41 @@ public interface DataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Underlying Type</em>' attribute. + * @see #isSetUnderlyingType() + * @see #unsetUnderlyingType() * @see #getUnderlyingType() * @generated */ void setUnderlyingType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getUnderlyingType <em>Underlying Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUnderlyingType() + * @see #getUnderlyingType() + * @see #setUnderlyingType(String) + * @generated + */ + void unsetUnderlyingType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getUnderlyingType <em>Underlying Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Underlying Type</em>' attribute is set. + * @see #unsetUnderlyingType() + * @see #getUnderlyingType() + * @see #setUnderlyingType(String) + * @generated + */ + boolean isSetUnderlyingType(); + /** * Returns the value of the '<em><b>Underlying Type Kind</b></em>' attribute. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The typeKind to be used for all "undefined" attributes of the CDC of this DataObject. - * <!-- end-model-doc --> * @return the value of the '<em>Underlying Type Kind</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind * @see #isSetUnderlyingTypeKind() @@ -445,4 +603,32 @@ public interface DataObject extends DocumentedClass { */ boolean isSetUnderlyingTypeKind(); + /** + * Returns the value of the '<em><b>Any LN Class</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getDataObject <em>Data Object</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Any LN Class</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>Any LN Class</em>' container reference. + * @see #setAnyLNClass(AnyLNClass) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_AnyLNClass() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getDataObject + * @model opposite="dataObject" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + AnyLNClass getAnyLNClass(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass <em>Any LN Class</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Any LN Class</em>' container reference. + * @see #getAnyLNClass() + * @generated + */ + void setAnyLNClass( AnyLNClass value ); + } // DataObject diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataSetMemberOf.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataSetMemberOf.java index 6a4d3d1..89d0bb1 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataSetMemberOf.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DataSetMemberOf.java @@ -26,15 +26,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Data Set Member Of</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Indication of a given object can be a data set member of a given control block. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getCb <em>Cb</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getApplicableServices <em>Applicable Services</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataSetMemberOf() @@ -47,16 +44,13 @@ public interface DataSetMemberOf extends EObject { * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CBKind}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Control block kind. - * <!-- end-model-doc --> * @return the value of the '<em>Cb</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CBKind * @see #isSetCb() * @see #unsetCb() * @see #setCb(CBKind) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataSetMemberOf_Cb() - * @model unsettable="true" required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='cb'" * @generated */ @@ -98,4 +92,32 @@ public interface DataSetMemberOf extends EObject { */ boolean isSetCb(); + /** + * Returns the value of the '<em><b>Applicable Services</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getDataSetMemberOf <em>Data Set Member Of</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Applicable Services</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>Applicable Services</em>' container reference. + * @see #setApplicableServices(ApplicableServices) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataSetMemberOf_ApplicableServices() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getDataSetMemberOf + * @model opposite="dataSetMemberOf" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ApplicableServices getApplicableServices(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getApplicableServices <em>Applicable Services</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Applicable Services</em>' container reference. + * @see #getApplicableServices() + * @generated + */ + void setApplicableServices( ApplicableServices value ); + } // DataSetMemberOf diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DefinedAttributeTypeKind.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DefinedAttributeTypeKind.java index b89c354..fc2e4cf 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DefinedAttributeTypeKind.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DefinedAttributeTypeKind.java @@ -30,9 +30,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the literals of the enumeration '<em><b>Defined Attribute Type Kind</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type kind of a data attribute. - * <!-- end-model-doc --> * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDefinedAttributeTypeKind() * @model extendedMetaData="name='tDefinedAttributeTypeKind'" * @generated diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java similarity index 59% rename from fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java rename to fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java index 89150a4..51861f4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOnType.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DependsOn.java @@ -21,64 +21,94 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; /** * <!-- begin-user-doc --> - * A representation of the model object '<em><b>Depends On Type</b></em>'. + * A representation of the model object '<em><b>Depends On</b></em>'. * <!-- end-user-doc --> * * <p> * The following features are supported: * </p> * <ul> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId <em>Id</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage <em>Publication Stage</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getId <em>Id</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getPublicationStage <em>Publication Stage</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS <em>NS</em>}</li> * </ul> * - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn() * @model extendedMetaData="name='DependsOn_._type' kind='empty'" * @generated */ -public interface DependsOnType extends NSDObjectWithVersionAndRelease { +public interface DependsOn extends NSDObjectWithVersionAndRelease { /** * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Id</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4". - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Id() - * @model required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn_Id() + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ String getId(); /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId <em>Id</em>}' attribute. + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getId <em>Id</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + /** * Returns the value of the '<em><b>Publication Stage</b></em>' attribute. * The default value is <code>"IS"</code>. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage}. * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Publication Stage</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The publication stage of the namespace, by default IS. - * <!-- end-model-doc --> * @return the value of the '<em>Publication Stage</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage * @see #isSetPublicationStage() * @see #unsetPublicationStage() * @see #setPublicationStage(PubStage) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_PublicationStage() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn_PublicationStage() * @model default="IS" unsettable="true" * extendedMetaData="kind='attribute' name='publicationStage'" * @generated @@ -86,7 +116,7 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { PubStage getPublicationStage(); /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage <em>Publication Stage</em>}' attribute. + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getPublicationStage <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Publication Stage</em>' attribute. @@ -99,7 +129,7 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { void setPublicationStage( PubStage value ); /** - * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage <em>Publication Stage</em>}' attribute. + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getPublicationStage <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isSetPublicationStage() @@ -110,7 +140,7 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { void unsetPublicationStage(); /** - * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage <em>Publication Stage</em>}' attribute is set. + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getPublicationStage <em>Publication Stage</em>}' attribute is set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return whether the value of the '<em>Publication Stage</em>' attribute is set. @@ -125,15 +155,16 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Revision</b></em>' attribute. * The default value is <code>"A"</code>. * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Revision</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace version, by default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() * @see #setRevision(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOnType_Revision() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn_Revision() * @model default="A" unsettable="true" * extendedMetaData="kind='attribute' name='revision'" * @generated @@ -141,7 +172,7 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { String getRevision(); /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision <em>Revision</em>}' attribute. + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRevision <em>Revision</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Revision</em>' attribute. @@ -153,7 +184,7 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { void setRevision( String value ); /** - * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision <em>Revision</em>}' attribute. + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRevision <em>Revision</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #isSetRevision() @@ -164,7 +195,7 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { void unsetRevision(); /** - * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision <em>Revision</em>}' attribute is set. + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRevision <em>Revision</em>}' attribute is set. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return whether the value of the '<em>Revision</em>' attribute is set. @@ -175,4 +206,32 @@ public interface DependsOnType extends NSDObjectWithVersionAndRelease { */ boolean isSetRevision(); -} // DependsOnType + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDependsOn <em>Depends On</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDependsOn_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDependsOn + * @model opposite="dependsOn" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + +} // DependsOn diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Doc.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Doc.java index fdfbb21..64205bb 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Doc.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Doc.java @@ -28,10 +28,6 @@ import org.eclipse.emf.ecore.util.FeatureMap; * A representation of the model object '<em><b>Doc</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * A key-value pair for documentation. Attribute "id" is the key (the documentation string identifier) and the value of the element is the documentation string itself. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -40,6 +36,7 @@ import org.eclipse.emf.ecore.util.FeatureMap; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getGroup <em>Group</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getAny <em>Any</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getId <em>Id</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getNSDoc <em>NS Doc</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDoc() @@ -102,13 +99,12 @@ public interface Doc extends EObject { * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the documentation string. - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDoc_Id() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ @@ -119,9 +115,62 @@ public interface Doc extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + + /** + * Returns the value of the '<em><b>NS Doc</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getDoc <em>Doc</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS Doc</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>NS Doc</em>' container reference. + * @see #setNSDoc(NSDoc) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDoc_NSDoc() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getDoc + * @model opposite="doc" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NSDoc getNSDoc(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getNSDoc <em>NS Doc</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS Doc</em>' container reference. + * @see #getNSDoc() + * @generated + */ + void setNSDoc( NSDoc value ); + } // Doc diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java index 82c0ad7..e7adb9b 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentRoot.java @@ -38,7 +38,6 @@ import org.eclipse.emf.ecore.util.FeatureMap; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS <em>Applicable Service NS</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright <em>Copyright</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS <em>NS</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc <em>NS Doc</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS <em>Service NS</em>}</li> @@ -106,13 +105,12 @@ public interface DocumentRoot extends EObject { * Returns the value of the '<em><b>Applicable Service NS</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Root element of a file holding the allowed usages of ServiceNS-es. - * <!-- end-model-doc --> * @return the value of the '<em>Applicable Service NS</em>' containment reference. + * @see #isSetApplicableServiceNS() + * @see #unsetApplicableServiceNS() * @see #setApplicableServiceNS(ApplicableServiceNS) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_ApplicableServiceNS() - * @model containment="true" upper="-2" transient="true" volatile="true" derived="true" + * @model containment="true" unsettable="true" transient="true" volatile="true" derived="true" * extendedMetaData="kind='element' name='ApplicableServiceNS' namespace='##targetNamespace'" * @generated */ @@ -123,48 +121,46 @@ public interface DocumentRoot extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Applicable Service NS</em>' containment reference. + * @see #isSetApplicableServiceNS() + * @see #unsetApplicableServiceNS() * @see #getApplicableServiceNS() * @generated */ void setApplicableServiceNS( ApplicableServiceNS value ); /** - * Returns the value of the '<em><b>Copyright</b></em>' containment reference. + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS <em>Applicable Service NS</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The copyright notice attached to the XML - * <!-- end-model-doc --> - * @return the value of the '<em>Copyright</em>' containment reference. - * @see #setCopyright(CopyrightNotice) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_Copyright() - * @model containment="true" upper="-2" transient="true" volatile="true" derived="true" - * extendedMetaData="kind='element' name='Copyright' namespace='##targetNamespace'" + * @see #isSetApplicableServiceNS() + * @see #getApplicableServiceNS() + * @see #setApplicableServiceNS(ApplicableServiceNS) * @generated */ - CopyrightNotice getCopyright(); + void unsetApplicableServiceNS(); /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright <em>Copyright</em>}' containment reference. + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getApplicableServiceNS <em>Applicable Service NS</em>}' containment reference is set. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @param value the new value of the '<em>Copyright</em>' containment reference. - * @see #getCopyright() + * @return whether the value of the '<em>Applicable Service NS</em>' containment reference is set. + * @see #unsetApplicableServiceNS() + * @see #getApplicableServiceNS() + * @see #setApplicableServiceNS(ApplicableServiceNS) * @generated */ - void setCopyright( CopyrightNotice value ); + boolean isSetApplicableServiceNS(); /** * Returns the value of the '<em><b>NS</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Root element of a namespace definition (NSD) file. - * <!-- end-model-doc --> * @return the value of the '<em>NS</em>' containment reference. + * @see #isSetNS() + * @see #unsetNS() * @see #setNS(NS) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_NS() - * @model containment="true" upper="-2" transient="true" volatile="true" derived="true" + * @model containment="true" unsettable="true" transient="true" volatile="true" derived="true" * extendedMetaData="kind='element' name='NS' namespace='##targetNamespace'" * @generated */ @@ -175,22 +171,46 @@ public interface DocumentRoot extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>NS</em>' containment reference. + * @see #isSetNS() + * @see #unsetNS() * @see #getNS() * @generated */ void setNS( NS value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS <em>NS</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetNS() + * @see #getNS() + * @see #setNS(NS) + * @generated + */ + void unsetNS(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS <em>NS</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>NS</em>' containment reference is set. + * @see #unsetNS() + * @see #getNS() + * @see #setNS(NS) + * @generated + */ + boolean isSetNS(); + /** * Returns the value of the '<em><b>NS Doc</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Root element of a file holding the documentation strings of an NSD file (NSDOC). - * <!-- end-model-doc --> * @return the value of the '<em>NS Doc</em>' containment reference. + * @see #isSetNSDoc() + * @see #unsetNSDoc() * @see #setNSDoc(NSDoc) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_NSDoc() - * @model containment="true" upper="-2" transient="true" volatile="true" derived="true" + * @model containment="true" unsettable="true" transient="true" volatile="true" derived="true" * extendedMetaData="kind='element' name='NSDoc' namespace='##targetNamespace'" * @generated */ @@ -201,22 +221,46 @@ public interface DocumentRoot extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>NS Doc</em>' containment reference. + * @see #isSetNSDoc() + * @see #unsetNSDoc() * @see #getNSDoc() * @generated */ void setNSDoc( NSDoc value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc <em>NS Doc</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetNSDoc() + * @see #getNSDoc() + * @see #setNSDoc(NSDoc) + * @generated + */ + void unsetNSDoc(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNSDoc <em>NS Doc</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>NS Doc</em>' containment reference is set. + * @see #unsetNSDoc() + * @see #getNSDoc() + * @see #setNSDoc(NSDoc) + * @generated + */ + boolean isSetNSDoc(); + /** * Returns the value of the '<em><b>Service NS</b></em>' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Root element of a service namespace definition (SNSD) file. - * <!-- end-model-doc --> * @return the value of the '<em>Service NS</em>' containment reference. + * @see #isSetServiceNS() + * @see #unsetServiceNS() * @see #setServiceNS(ServiceNS) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentRoot_ServiceNS() - * @model containment="true" upper="-2" transient="true" volatile="true" derived="true" + * @model containment="true" unsettable="true" transient="true" volatile="true" derived="true" * extendedMetaData="kind='element' name='ServiceNS' namespace='##targetNamespace'" * @generated */ @@ -227,9 +271,34 @@ public interface DocumentRoot extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Service NS</em>' containment reference. + * @see #isSetServiceNS() + * @see #unsetServiceNS() * @see #getServiceNS() * @generated */ void setServiceNS( ServiceNS value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS <em>Service NS</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceNS() + * @see #getServiceNS() + * @see #setServiceNS(ServiceNS) + * @generated + */ + void unsetServiceNS(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getServiceNS <em>Service NS</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service NS</em>' containment reference is set. + * @see #unsetServiceNS() + * @see #getServiceNS() + * @see #setServiceNS(ServiceNS) + * @generated + */ + boolean isSetServiceNS(); + } // DocumentRoot diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentedClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentedClass.java index 0c73756..f983c97 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentedClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/DocumentedClass.java @@ -26,10 +26,6 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Documented Class</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * A class with description. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -49,9 +45,6 @@ public interface DocumentedClass extends EObject { * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this object is classified as deprecated or not. By default not deprecated. - * <!-- end-model-doc --> * @return the value of the '<em>Deprecated</em>' attribute. * @see #isSetDeprecated() * @see #unsetDeprecated() @@ -102,13 +95,13 @@ public interface DocumentedClass extends EObject { * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDocumentedClass_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -118,19 +111,41 @@ public interface DocumentedClass extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentedClass#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentedClass#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Informative</b></em>' attribute. * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this object is classified as informative or not. By default not informative. - * <!-- end-model-doc --> * @return the value of the '<em>Informative</em>' attribute. * @see #isSetInformative() * @see #unsetInformative() diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java index cad7d78..19afbf4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumeration.java @@ -26,10 +26,6 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>Enumeration</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of an enumeration. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -37,6 +33,7 @@ import org.eclipse.emf.common.util.EList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getLiteral <em>Literal</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getInheritedFrom <em>Inherited From</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getEnumerations <em>Enumerations</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration() @@ -47,6 +44,7 @@ public interface Enumeration extends TitledClass { /** * Returns the value of the '<em><b>Literal</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getEnumeration <em>Enumeration</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Literal</em>' containment reference list isn't clear, @@ -54,24 +52,48 @@ public interface Enumeration extends TitledClass { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Literal</em>' containment reference list. + * @see #isSetLiteral() + * @see #unsetLiteral() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration_Literal() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getEnumeration + * @model opposite="enumeration" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Literal' namespace='##targetNamespace'" * @generated */ EList< Literal > getLiteral(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getLiteral <em>Literal</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLiteral() + * @see #getLiteral() + * @generated + */ + void unsetLiteral(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getLiteral <em>Literal</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Literal</em>' containment reference list is set. + * @see #unsetLiteral() + * @see #getLiteral() + * @generated + */ + boolean isSetLiteral(); + /** * Returns the value of the '<em><b>Inherited From</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the enumeration which is extended by the current enumeration. - * <!-- end-model-doc --> * @return the value of the '<em>Inherited From</em>' attribute. + * @see #isSetInheritedFrom() + * @see #unsetInheritedFrom() * @see #setInheritedFrom(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration_InheritedFrom() - * @model extendedMetaData="kind='attribute' name='inheritedFrom'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='inheritedFrom'" * @generated */ String getInheritedFrom(); @@ -81,22 +103,46 @@ public interface Enumeration extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Inherited From</em>' attribute. + * @see #isSetInheritedFrom() + * @see #unsetInheritedFrom() * @see #getInheritedFrom() * @generated */ void setInheritedFrom( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getInheritedFrom <em>Inherited From</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetInheritedFrom() + * @see #getInheritedFrom() + * @see #setInheritedFrom(String) + * @generated + */ + void unsetInheritedFrom(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getInheritedFrom <em>Inherited From</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Inherited From</em>' attribute is set. + * @see #unsetInheritedFrom() + * @see #getInheritedFrom() + * @see #setInheritedFrom(String) + * @generated + */ + boolean isSetInheritedFrom(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the enumeration. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -107,9 +153,62 @@ public interface Enumeration extends TitledClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>Enumerations</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getEnumeration <em>Enumeration</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Enumerations</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>Enumerations</em>' container reference. + * @see #setEnumerations(Enumerations) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration_Enumerations() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getEnumeration + * @model opposite="enumeration" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + Enumerations getEnumerations(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getEnumerations <em>Enumerations</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Enumerations</em>' container reference. + * @see #getEnumerations() + * @generated + */ + void setEnumerations( Enumerations value ); + } // Enumeration diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumerations.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumerations.java index deb022c..e1619e8 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumerations.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Enumerations.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Enumerations</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of Enumerations introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getEnumeration <em>Enumeration</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getNS <em>NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumerations() @@ -47,17 +44,67 @@ public interface Enumerations extends EObject { /** * Returns the value of the '<em><b>Enumeration</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getEnumerations <em>Enumerations</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of an enumeration. - * <!-- end-model-doc --> * @return the value of the '<em>Enumeration</em>' containment reference list. + * @see #isSetEnumeration() + * @see #unsetEnumeration() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumerations_Enumeration() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getEnumerations + * @model opposite="enumerations" containment="true" unsettable="true" * extendedMetaData="kind='element' name='Enumeration' namespace='##targetNamespace'" * @generated */ EList< Enumeration > getEnumeration(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getEnumeration <em>Enumeration</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetEnumeration() + * @see #getEnumeration() + * @generated + */ + void unsetEnumeration(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getEnumeration <em>Enumeration</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Enumeration</em>' containment reference list is set. + * @see #unsetEnumeration() + * @see #getEnumeration() + * @generated + */ + boolean isSetEnumeration(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getEnumerations <em>Enumerations</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumerations_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getEnumerations + * @model opposite="enumerations" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + } // Enumerations diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java index 86de5c9..f040384 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java @@ -26,10 +26,6 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Functional Constraint</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a Functional Constraint. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -38,6 +34,7 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getAbbreviation <em>Abbreviation</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getTitleID <em>Title ID</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints <em>Functional Constraints</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint() @@ -47,6 +44,7 @@ import org.eclipse.emf.ecore.EObject; public interface FunctionalConstraint extends EObject { /** * Returns the value of the '<em><b>Applicable Services</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getFunctionalConstraint <em>Functional Constraint</em>}'. * <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Applicable Services</em>' containment reference isn't clear, @@ -54,9 +52,12 @@ public interface FunctionalConstraint extends EObject { * </p> * <!-- end-user-doc --> * @return the value of the '<em>Applicable Services</em>' containment reference. + * @see #isSetApplicableServices() + * @see #unsetApplicableServices() * @see #setApplicableServices(ApplicableServices) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint_ApplicableServices() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getFunctionalConstraint + * @model opposite="functionalConstraint" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ApplicableServices' namespace='##targetNamespace'" * @generated */ @@ -67,22 +68,46 @@ public interface FunctionalConstraint extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Applicable Services</em>' containment reference. + * @see #isSetApplicableServices() + * @see #unsetApplicableServices() * @see #getApplicableServices() * @generated */ void setApplicableServices( ApplicableServices value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getApplicableServices <em>Applicable Services</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetApplicableServices() + * @see #getApplicableServices() + * @see #setApplicableServices(ApplicableServices) + * @generated + */ + void unsetApplicableServices(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getApplicableServices <em>Applicable Services</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Applicable Services</em>' containment reference is set. + * @see #unsetApplicableServices() + * @see #getApplicableServices() + * @see #setApplicableServices(ApplicableServices) + * @generated + */ + boolean isSetApplicableServices(); + /** * Returns the value of the '<em><b>Abbreviation</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Abbreviated name of the FC (e.g., ST, MX, etc.). - * <!-- end-model-doc --> * @return the value of the '<em>Abbreviation</em>' attribute. + * @see #isSetAbbreviation() + * @see #unsetAbbreviation() * @see #setAbbreviation(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint_Abbreviation() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='abbreviation'" * @generated */ @@ -93,22 +118,47 @@ public interface FunctionalConstraint extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Abbreviation</em>' attribute. + * @see #isSetAbbreviation() + * @see #unsetAbbreviation() * @see #getAbbreviation() * @generated */ void setAbbreviation( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getAbbreviation <em>Abbreviation</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetAbbreviation() + * @see #getAbbreviation() + * @see #setAbbreviation(String) + * @generated + */ + void unsetAbbreviation(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getAbbreviation <em>Abbreviation</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Abbreviation</em>' attribute is set. + * @see #unsetAbbreviation() + * @see #getAbbreviation() + * @see #setAbbreviation(String) + * @generated + */ + boolean isSetAbbreviation(); + /** * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -118,22 +168,47 @@ public interface FunctionalConstraint extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Title ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to the title (alias) of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Title ID</em>' attribute. + * @see #isSetTitleID() + * @see #unsetTitleID() * @see #setTitleID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint_TitleID() - * @model extendedMetaData="kind='attribute' name='titleID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='titleID'" * @generated */ String getTitleID(); @@ -143,9 +218,62 @@ public interface FunctionalConstraint extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Title ID</em>' attribute. + * @see #isSetTitleID() + * @see #unsetTitleID() * @see #getTitleID() * @generated */ void setTitleID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getTitleID <em>Title ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetTitleID() + * @see #getTitleID() + * @see #setTitleID(String) + * @generated + */ + void unsetTitleID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getTitleID <em>Title ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Title ID</em>' attribute is set. + * @see #unsetTitleID() + * @see #getTitleID() + * @see #setTitleID(String) + * @generated + */ + boolean isSetTitleID(); + + /** + * Returns the value of the '<em><b>Functional Constraints</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getFunctionalConstraint <em>Functional Constraint</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Functional Constraints</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>Functional Constraints</em>' container reference. + * @see #setFunctionalConstraints(FunctionalConstraints) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint_FunctionalConstraints() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getFunctionalConstraint + * @model opposite="functionalConstraint" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + FunctionalConstraints getFunctionalConstraints(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints <em>Functional Constraints</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Functional Constraints</em>' container reference. + * @see #getFunctionalConstraints() + * @generated + */ + void setFunctionalConstraints( FunctionalConstraints value ); + } // FunctionalConstraint diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraints.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraints.java index 3adf965..b3a1202 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraints.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraints.java @@ -28,15 +28,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Functional Constraints</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of Functional Constraints introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getFunctionalConstraint <em>Functional Constraint</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraints() @@ -47,17 +45,95 @@ public interface FunctionalConstraints extends EObject { /** * Returns the value of the '<em><b>Functional Constraint</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints <em>Functional Constraints</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of a Functional Constraint. - * <!-- end-model-doc --> * @return the value of the '<em>Functional Constraint</em>' containment reference list. + * @see #isSetFunctionalConstraint() + * @see #unsetFunctionalConstraint() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraints_FunctionalConstraint() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints + * @model opposite="functionalConstraints" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='FunctionalConstraint' namespace='##targetNamespace'" * @generated */ EList< FunctionalConstraint > getFunctionalConstraint(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getFunctionalConstraint <em>Functional Constraint</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetFunctionalConstraint() + * @see #getFunctionalConstraint() + * @generated + */ + void unsetFunctionalConstraint(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getFunctionalConstraint <em>Functional Constraint</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Functional Constraint</em>' containment reference list is set. + * @see #unsetFunctionalConstraint() + * @see #getFunctionalConstraint() + * @generated + */ + boolean isSetFunctionalConstraint(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getFunctionalConstraints <em>Functional Constraints</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraints_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getFunctionalConstraints + * @model opposite="functionalConstraints" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getFunctionalConstraints <em>Functional Constraints</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraints_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getFunctionalConstraints + * @model opposite="functionalConstraints" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // FunctionalConstraints diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClass.java index 844e537..dce0063 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClass.java @@ -24,10 +24,6 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>LN Class</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a concrete (i.e., not abstract) logical node and its contents. At most one of "base" and "isExtension" shall be defined. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -35,6 +31,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#isCanHaveLOG <em>Can Have LOG</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#isIsExtension <em>Is Extension</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getLNClasses <em>LN Classes</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClass() @@ -47,9 +44,6 @@ public interface LNClass extends AnyLNClass { * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether a LOG can be allocated to this logical node. By default, false. - * <!-- end-model-doc --> * @return the value of the '<em>Can Have LOG</em>' attribute. * @see #isSetCanHaveLOG() * @see #unsetCanHaveLOG() @@ -101,9 +95,6 @@ public interface LNClass extends AnyLNClass { * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this logical node is an extension of another non-abstract logical node (with the same LN class name) defined in a namespace this one imports. - * <!-- end-model-doc --> * @return the value of the '<em>Is Extension</em>' attribute. * @see #isSetIsExtension() * @see #unsetIsExtension() @@ -154,13 +145,12 @@ public interface LNClass extends AnyLNClass { * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The logical node class name. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClass_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -171,9 +161,62 @@ public interface LNClass extends AnyLNClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>LN Classes</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getLNClass <em>LN Class</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>LN Classes</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>LN Classes</em>' container reference. + * @see #setLNClasses(LNClasses) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClass_LNClasses() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getLNClass + * @model opposite="lNClass" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + LNClasses getLNClasses(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getLNClasses <em>LN Classes</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>LN Classes</em>' container reference. + * @see #getLNClasses() + * @generated + */ + void setLNClasses( LNClasses value ); + } // LNClass diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClasses.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClasses.java index f3aaaff..82f8134 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClasses.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LNClasses.java @@ -28,16 +28,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>LN Classes</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of LNClasses introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getAbstractLNClass <em>Abstract LN Class</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getLNClass <em>LN Class</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getNS <em>NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClasses() @@ -48,33 +45,105 @@ public interface LNClasses extends EObject { /** * Returns the value of the '<em><b>Abstract LN Class</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses <em>LN Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of an abstract logical node. - * <!-- end-model-doc --> * @return the value of the '<em>Abstract LN Class</em>' containment reference list. + * @see #isSetAbstractLNClass() + * @see #unsetAbstractLNClass() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClasses_AbstractLNClass() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses + * @model opposite="lNClasses" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='AbstractLNClass' namespace='##targetNamespace'" * @generated */ EList< AbstractLNClass > getAbstractLNClass(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getAbstractLNClass <em>Abstract LN Class</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetAbstractLNClass() + * @see #getAbstractLNClass() + * @generated + */ + void unsetAbstractLNClass(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getAbstractLNClass <em>Abstract LN Class</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Abstract LN Class</em>' containment reference list is set. + * @see #unsetAbstractLNClass() + * @see #getAbstractLNClass() + * @generated + */ + boolean isSetAbstractLNClass(); + /** * Returns the value of the '<em><b>LN Class</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getLNClasses <em>LN Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of a (non-abstract) logical node. - * <!-- end-model-doc --> * @return the value of the '<em>LN Class</em>' containment reference list. + * @see #isSetLNClass() + * @see #unsetLNClass() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClasses_LNClass() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getLNClasses + * @model opposite="lNClasses" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='LNClass' namespace='##targetNamespace'" * @generated */ EList< LNClass > getLNClass(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getLNClass <em>LN Class</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLNClass() + * @see #getLNClass() + * @generated + */ + void unsetLNClass(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getLNClass <em>LN Class</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>LN Class</em>' containment reference list is set. + * @see #unsetLNClass() + * @see #getLNClass() + * @generated + */ + boolean isSetLNClass(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getLNClasses <em>LN Classes</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLNClasses_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getLNClasses + * @model opposite="lNClasses" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + } // LNClasses diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/License.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/License.java index 7482468..de69b91 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/License.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/License.java @@ -28,10 +28,6 @@ import org.eclipse.emf.ecore.util.FeatureMap; * A representation of the model object '<em><b>License</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Describe the license definition. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -39,6 +35,7 @@ import org.eclipse.emf.ecore.util.FeatureMap; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getMixed <em>Mixed</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getKind <em>Kind</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getUri <em>Uri</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getCopyrightNotice <em>Copyright Notice</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLicense() @@ -68,9 +65,6 @@ public interface License extends EObject { * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LicenseKind}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * kind of license - * <!-- end-model-doc --> * @return the value of the '<em>Kind</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LicenseKind * @see #isSetKind() @@ -123,13 +117,12 @@ public interface License extends EObject { * Returns the value of the '<em><b>Uri</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * path to the license file - * <!-- end-model-doc --> * @return the value of the '<em>Uri</em>' attribute. + * @see #isSetUri() + * @see #unsetUri() * @see #setUri(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLicense_Uri() - * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" * extendedMetaData="kind='attribute' name='uri'" * @generated */ @@ -140,9 +133,62 @@ public interface License extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uri</em>' attribute. + * @see #isSetUri() + * @see #unsetUri() * @see #getUri() * @generated */ void setUri( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getUri <em>Uri</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUri() + * @see #getUri() + * @see #setUri(String) + * @generated + */ + void unsetUri(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getUri <em>Uri</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uri</em>' attribute is set. + * @see #unsetUri() + * @see #getUri() + * @see #setUri(String) + * @generated + */ + boolean isSetUri(); + + /** + * Returns the value of the '<em><b>Copyright Notice</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getLicense <em>License</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Copyright Notice</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>Copyright Notice</em>' container reference. + * @see #setCopyrightNotice(CopyrightNotice) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLicense_CopyrightNotice() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getLicense + * @model opposite="license" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + CopyrightNotice getCopyrightNotice(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getCopyrightNotice <em>Copyright Notice</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Copyright Notice</em>' container reference. + * @see #getCopyrightNotice() + * @generated + */ + void setCopyrightNotice( CopyrightNotice value ); + } // License diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LicenseKind.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LicenseKind.java index 16d07bd..e9b3232 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LicenseKind.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/LicenseKind.java @@ -30,9 +30,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the literals of the enumeration '<em><b>License Kind</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Kind of license - * <!-- end-model-doc --> * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLicenseKind() * @model extendedMetaData="name='tLicenseKind'" * @generated diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Literal.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Literal.java index a30b679..fc7c5d3 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Literal.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Literal.java @@ -24,16 +24,13 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>Literal</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a literal of an enumeration. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getLiteralVal <em>Literal Val</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getEnumeration <em>Enumeration</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLiteral() @@ -45,15 +42,12 @@ public interface Literal extends DocumentedClass { * Returns the value of the '<em><b>Literal Val</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Enumeration literal integer value. - * <!-- end-model-doc --> * @return the value of the '<em>Literal Val</em>' attribute. * @see #isSetLiteralVal() * @see #unsetLiteralVal() * @see #setLiteralVal(int) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLiteral_LiteralVal() - * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" required="true" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" * extendedMetaData="kind='attribute' name='literalVal'" * @generated */ @@ -102,9 +96,11 @@ public interface Literal extends DocumentedClass { * Name of the enumeration's literal. * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLiteral_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -115,9 +111,62 @@ public interface Literal extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + + /** + * Returns the value of the '<em><b>Enumeration</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getLiteral <em>Literal</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Enumeration</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>Enumeration</em>' container reference. + * @see #setEnumeration(Enumeration) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getLiteral_Enumeration() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getLiteral + * @model opposite="literal" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + Enumeration getEnumeration(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getEnumeration <em>Enumeration</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Enumeration</em>' container reference. + * @see #getEnumeration() + * @generated + */ + void setEnumeration( Enumeration value ); + } // Literal diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java index be4da42..cb60f3d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NS.java @@ -26,10 +26,6 @@ import javax.xml.datatype.XMLGregorianCalendar; * A representation of the model object '<em><b>NS</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -59,15 +55,16 @@ import javax.xml.datatype.XMLGregorianCalendar; public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { /** * Returns the value of the '<em><b>Changes</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The version/revision/release this namespace is based on, including the TISSUEs implemented in this release. - * <!-- end-model-doc --> * @return the value of the '<em>Changes</em>' containment reference. + * @see #isSetChanges() + * @see #unsetChanges() * @see #setChanges(Changes) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_Changes() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Changes' namespace='##targetNamespace'" * @generated */ @@ -78,48 +75,100 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Changes</em>' containment reference. + * @see #isSetChanges() + * @see #unsetChanges() * @see #getChanges() * @generated */ void setChanges( Changes value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getChanges <em>Changes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChanges() + * @see #getChanges() + * @see #setChanges(Changes) + * @generated + */ + void unsetChanges(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getChanges <em>Changes</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Changes</em>' containment reference is set. + * @see #unsetChanges() + * @see #getChanges() + * @see #setChanges(Changes) + * @generated + */ + boolean isSetChanges(); + /** * Returns the value of the '<em><b>Depends On</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The namespace identification this namespace depends on (and whose definitions are imported into this one). - * <!-- end-model-doc --> * @return the value of the '<em>Depends On</em>' containment reference. - * @see #setDependsOn(DependsOnType) + * @see #isSetDependsOn() + * @see #unsetDependsOn() + * @see #setDependsOn(DependsOn) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_DependsOn() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='DependsOn' namespace='##targetNamespace'" * @generated */ - DependsOnType getDependsOn(); + DependsOn getDependsOn(); /** * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDependsOn <em>Depends On</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Depends On</em>' containment reference. + * @see #isSetDependsOn() + * @see #unsetDependsOn() + * @see #getDependsOn() + * @generated + */ + void setDependsOn( DependsOn value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDependsOn <em>Depends On</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDependsOn() + * @see #getDependsOn() + * @see #setDependsOn(DependsOn) + * @generated + */ + void unsetDependsOn(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDependsOn <em>Depends On</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Depends On</em>' containment reference is set. + * @see #unsetDependsOn() * @see #getDependsOn() + * @see #setDependsOn(DependsOn) * @generated */ - void setDependsOn( DependsOnType value ); + boolean isSetDependsOn(); /** * Returns the value of the '<em><b>Basic Types</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of basic types added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones). Note: shall only be used in practice by the 7-2 namespace. - * <!-- end-model-doc --> * @return the value of the '<em>Basic Types</em>' containment reference. + * @see #isSetBasicTypes() + * @see #unsetBasicTypes() * @see #setBasicTypes(BasicTypes) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_BasicTypes() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='BasicTypes' namespace='##targetNamespace'" * @generated */ @@ -130,22 +179,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Basic Types</em>' containment reference. + * @see #isSetBasicTypes() + * @see #unsetBasicTypes() * @see #getBasicTypes() * @generated */ void setBasicTypes( BasicTypes value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getBasicTypes <em>Basic Types</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetBasicTypes() + * @see #getBasicTypes() + * @see #setBasicTypes(BasicTypes) + * @generated + */ + void unsetBasicTypes(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getBasicTypes <em>Basic Types</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Basic Types</em>' containment reference is set. + * @see #unsetBasicTypes() + * @see #getBasicTypes() + * @see #setBasicTypes(BasicTypes) + * @generated + */ + boolean isSetBasicTypes(); + /** * Returns the value of the '<em><b>Functional Constraints</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of Functional Constraints added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones). - * <!-- end-model-doc --> * @return the value of the '<em>Functional Constraints</em>' containment reference. + * @see #isSetFunctionalConstraints() + * @see #unsetFunctionalConstraints() * @see #setFunctionalConstraints(FunctionalConstraints) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_FunctionalConstraints() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='FunctionalConstraints' namespace='##targetNamespace'" * @generated */ @@ -156,22 +231,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Functional Constraints</em>' containment reference. + * @see #isSetFunctionalConstraints() + * @see #unsetFunctionalConstraints() * @see #getFunctionalConstraints() * @generated */ void setFunctionalConstraints( FunctionalConstraints value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getFunctionalConstraints <em>Functional Constraints</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetFunctionalConstraints() + * @see #getFunctionalConstraints() + * @see #setFunctionalConstraints(FunctionalConstraints) + * @generated + */ + void unsetFunctionalConstraints(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getFunctionalConstraints <em>Functional Constraints</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Functional Constraints</em>' containment reference is set. + * @see #unsetFunctionalConstraints() + * @see #getFunctionalConstraints() + * @see #setFunctionalConstraints(FunctionalConstraints) + * @generated + */ + boolean isSetFunctionalConstraints(); + /** * Returns the value of the '<em><b>Presence Conditions</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of presence conditions added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Presence Conditions</em>' containment reference. + * @see #isSetPresenceConditions() + * @see #unsetPresenceConditions() * @see #setPresenceConditions(PresenceConditions) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_PresenceConditions() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='PresenceConditions' namespace='##targetNamespace'" * @generated */ @@ -182,22 +283,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Presence Conditions</em>' containment reference. + * @see #isSetPresenceConditions() + * @see #unsetPresenceConditions() * @see #getPresenceConditions() * @generated */ void setPresenceConditions( PresenceConditions value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getPresenceConditions <em>Presence Conditions</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresenceConditions() + * @see #getPresenceConditions() + * @see #setPresenceConditions(PresenceConditions) + * @generated + */ + void unsetPresenceConditions(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getPresenceConditions <em>Presence Conditions</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Presence Conditions</em>' containment reference is set. + * @see #unsetPresenceConditions() + * @see #getPresenceConditions() + * @see #setPresenceConditions(PresenceConditions) + * @generated + */ + boolean isSetPresenceConditions(); + /** * Returns the value of the '<em><b>Abbreviations</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of abbreviations added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Abbreviations</em>' containment reference. + * @see #isSetAbbreviations() + * @see #unsetAbbreviations() * @see #setAbbreviations(Abbreviations) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_Abbreviations() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Abbreviations' namespace='##targetNamespace'" * @generated */ @@ -208,22 +335,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Abbreviations</em>' containment reference. + * @see #isSetAbbreviations() + * @see #unsetAbbreviations() * @see #getAbbreviations() * @generated */ void setAbbreviations( Abbreviations value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getAbbreviations <em>Abbreviations</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetAbbreviations() + * @see #getAbbreviations() + * @see #setAbbreviations(Abbreviations) + * @generated + */ + void unsetAbbreviations(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getAbbreviations <em>Abbreviations</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Abbreviations</em>' containment reference is set. + * @see #unsetAbbreviations() + * @see #getAbbreviations() + * @see #setAbbreviations(Abbreviations) + * @generated + */ + boolean isSetAbbreviations(); + /** * Returns the value of the '<em><b>Enumerations</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of Enumerations added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones). - * <!-- end-model-doc --> * @return the value of the '<em>Enumerations</em>' containment reference. + * @see #isSetEnumerations() + * @see #unsetEnumerations() * @see #setEnumerations(Enumerations) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_Enumerations() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Enumerations' namespace='##targetNamespace'" * @generated */ @@ -234,22 +387,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Enumerations</em>' containment reference. + * @see #isSetEnumerations() + * @see #unsetEnumerations() * @see #getEnumerations() * @generated */ void setEnumerations( Enumerations value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getEnumerations <em>Enumerations</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetEnumerations() + * @see #getEnumerations() + * @see #setEnumerations(Enumerations) + * @generated + */ + void unsetEnumerations(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getEnumerations <em>Enumerations</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Enumerations</em>' containment reference is set. + * @see #unsetEnumerations() + * @see #getEnumerations() + * @see #setEnumerations(Enumerations) + * @generated + */ + boolean isSetEnumerations(); + /** * Returns the value of the '<em><b>Constructed Attributes</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of Constructed Attributes added by this namespace. Constructed Attributes are not allowed to be extended by another namespace. Note: shall only be used in practice by the 7-3 - * <!-- end-model-doc --> * @return the value of the '<em>Constructed Attributes</em>' containment reference. + * @see #isSetConstructedAttributes() + * @see #unsetConstructedAttributes() * @see #setConstructedAttributes(ConstructedAttributes) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_ConstructedAttributes() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ConstructedAttributes' namespace='##targetNamespace'" * @generated */ @@ -260,22 +439,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Constructed Attributes</em>' containment reference. + * @see #isSetConstructedAttributes() + * @see #unsetConstructedAttributes() * @see #getConstructedAttributes() * @generated */ void setConstructedAttributes( ConstructedAttributes value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getConstructedAttributes <em>Constructed Attributes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetConstructedAttributes() + * @see #getConstructedAttributes() + * @see #setConstructedAttributes(ConstructedAttributes) + * @generated + */ + void unsetConstructedAttributes(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getConstructedAttributes <em>Constructed Attributes</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Constructed Attributes</em>' containment reference is set. + * @see #unsetConstructedAttributes() + * @see #getConstructedAttributes() + * @see #setConstructedAttributes(ConstructedAttributes) + * @generated + */ + boolean isSetConstructedAttributes(); + /** * Returns the value of the '<em><b>CD Cs</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of CDCs added by this namespace. CDCs are not allowed to be extended by another namespace. Note: shall only be used in practice by the 7-3 - * <!-- end-model-doc --> * @return the value of the '<em>CD Cs</em>' containment reference. + * @see #isSetCDCs() + * @see #unsetCDCs() * @see #setCDCs(CDCs) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_CDCs() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='CDCs' namespace='##targetNamespace'" * @generated */ @@ -286,22 +491,48 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>CD Cs</em>' containment reference. + * @see #isSetCDCs() + * @see #unsetCDCs() * @see #getCDCs() * @generated */ void setCDCs( CDCs value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getCDCs <em>CD Cs</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCDCs() + * @see #getCDCs() + * @see #setCDCs(CDCs) + * @generated + */ + void unsetCDCs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getCDCs <em>CD Cs</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>CD Cs</em>' containment reference is set. + * @see #unsetCDCs() + * @see #getCDCs() + * @see #setCDCs(CDCs) + * @generated + */ + boolean isSetCDCs(); + /** * Returns the value of the '<em><b>LN Classes</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getNS <em>NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of LNClasses added by this namespace. Is cumulative to those defined in namespaces this one DependsOn (may not redefine "included" ones). - * <!-- end-model-doc --> * @return the value of the '<em>LN Classes</em>' containment reference. + * @see #isSetLNClasses() + * @see #unsetLNClasses() * @see #setLNClasses(LNClasses) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_LNClasses() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getNS + * @model opposite="nS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='LNClasses' namespace='##targetNamespace'" * @generated */ @@ -312,22 +543,47 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>LN Classes</em>' containment reference. + * @see #isSetLNClasses() + * @see #unsetLNClasses() * @see #getLNClasses() * @generated */ void setLNClasses( LNClasses value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getLNClasses <em>LN Classes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLNClasses() + * @see #getLNClasses() + * @see #setLNClasses(LNClasses) + * @generated + */ + void unsetLNClasses(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getLNClasses <em>LN Classes</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>LN Classes</em>' containment reference is set. + * @see #unsetLNClasses() + * @see #getLNClasses() + * @see #setLNClasses(LNClasses) + * @generated + */ + boolean isSetLNClasses(); + /** * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this NS. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -337,22 +593,46 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4". - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_Id() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ @@ -363,20 +643,42 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + /** * Returns the value of the '<em><b>Publication Stage</b></em>' attribute. * The default value is <code>"IS"</code>. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The publication stage of the namespace, by default IS. - * <!-- end-model-doc --> * @return the value of the '<em>Publication Stage</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage * @see #isSetPublicationStage() @@ -430,9 +732,6 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * The default value is <code>"A"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace version, by default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() @@ -483,14 +782,12 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Uml Date</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * UTC Date and time of the UML version from which this namespace definition file was generated. Shall be provided if umlVersion is present. Format: YYYY-MM-DDThh:mm:ssZ, where: YYYY indicates the year, MM indicates the month, DD indicates the day, T indicates the start of the required time section, hh indicates the hour, mm indicates the minute, ss indicates the second, and Z the UTC time stamp indication. - * - * <!-- end-model-doc --> * @return the value of the '<em>Uml Date</em>' attribute. + * @see #isSetUmlDate() + * @see #unsetUmlDate() * @see #setUmlDate(XMLGregorianCalendar) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_UmlDate() - * @model dataType="org.eclipse.emf.ecore.xml.type.DateTime" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.DateTime" * extendedMetaData="kind='attribute' name='umlDate'" * @generated */ @@ -501,22 +798,47 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uml Date</em>' attribute. + * @see #isSetUmlDate() + * @see #unsetUmlDate() * @see #getUmlDate() * @generated */ void setUmlDate( XMLGregorianCalendar value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getUmlDate <em>Uml Date</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUmlDate() + * @see #getUmlDate() + * @see #setUmlDate(XMLGregorianCalendar) + * @generated + */ + void unsetUmlDate(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getUmlDate <em>Uml Date</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uml Date</em>' attribute is set. + * @see #unsetUmlDate() + * @see #getUmlDate() + * @see #setUmlDate(XMLGregorianCalendar) + * @generated + */ + boolean isSetUmlDate(); + /** * Returns the value of the '<em><b>Uml Version</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Version of UML from which this namespace definition file was generated from. - * <!-- end-model-doc --> * @return the value of the '<em>Uml Version</em>' attribute. + * @see #isSetUmlVersion() + * @see #unsetUmlVersion() * @see #setUmlVersion(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNS_UmlVersion() - * @model extendedMetaData="kind='attribute' name='umlVersion'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='umlVersion'" * @generated */ String getUmlVersion(); @@ -526,9 +848,34 @@ public interface NS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uml Version</em>' attribute. + * @see #isSetUmlVersion() + * @see #unsetUmlVersion() * @see #getUmlVersion() * @generated */ void setUmlVersion( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getUmlVersion <em>Uml Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUmlVersion() + * @see #getUmlVersion() + * @see #setUmlVersion(String) + * @generated + */ + void unsetUmlVersion(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getUmlVersion <em>Uml Version</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uml Version</em>' attribute is set. + * @see #unsetUmlVersion() + * @see #getUmlVersion() + * @see #setUmlVersion(String) + * @generated + */ + boolean isSetUmlVersion(); + } // NS diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDObjectWithVersionAndRelease.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDObjectWithVersionAndRelease.java index 187b313..b6580a7 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDObjectWithVersionAndRelease.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDObjectWithVersionAndRelease.java @@ -107,7 +107,7 @@ public interface NSDObjectWithVersionAndRelease extends EObject { * @see #unsetVersion() * @see #setVersion(Integer) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDObjectWithVersionAndRelease_Version() - * @model unsettable="true" required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='version'" * @generated */ diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java index 5dc111e..5c2de50 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NSDoc.java @@ -28,10 +28,6 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>NS Doc</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * A non-empty list of tDoc elements. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -53,30 +49,51 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { /** * Returns the value of the '<em><b>Doc</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getNSDoc <em>NS Doc</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of documentation identifiers and corresponding documentation strings in the corresponding language. - * <!-- end-model-doc --> * @return the value of the '<em>Doc</em>' containment reference list. + * @see #isSetDoc() + * @see #unsetDoc() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_Doc() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getNSDoc + * @model opposite="nSDoc" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Doc' namespace='##targetNamespace'" * @generated */ EList< Doc > getDoc(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getDoc <em>Doc</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDoc() + * @see #getDoc() + * @generated + */ + void unsetDoc(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getDoc <em>Doc</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Doc</em>' containment reference list is set. + * @see #unsetDoc() + * @see #getDoc() + * @generated + */ + boolean isSetDoc(); + /** * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4". - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_Id() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ @@ -87,22 +104,46 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + /** * Returns the value of the '<em><b>Lang</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Language of the documentation strings in the file. - * <!-- end-model-doc --> * @return the value of the '<em>Lang</em>' attribute. + * @see #isSetLang() + * @see #unsetLang() * @see #setLang(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_Lang() - * @model dataType="org.eclipse.emf.ecore.xml.type.Language" required="true" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Language" * extendedMetaData="kind='attribute' name='lang'" * @generated */ @@ -113,20 +154,42 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Lang</em>' attribute. + * @see #isSetLang() + * @see #unsetLang() * @see #getLang() * @generated */ void setLang( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getLang <em>Lang</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetLang() + * @see #getLang() + * @see #setLang(String) + * @generated + */ + void unsetLang(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getLang <em>Lang</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Lang</em>' attribute is set. + * @see #unsetLang() + * @see #getLang() + * @see #setLang(String) + * @generated + */ + boolean isSetLang(); + /** * Returns the value of the '<em><b>Publication Stage</b></em>' attribute. * The default value is <code>"IS"</code>. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The publication stage of the namespace, by default IS. - * <!-- end-model-doc --> * @return the value of the '<em>Publication Stage</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage * @see #isSetPublicationStage() @@ -180,9 +243,6 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { * The default value is <code>"A"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace version, by default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() @@ -233,14 +293,12 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Uml Date</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * UTC Date and time of the UML version from which this namespace definition file was generated. Shall be provided if umlVersion is present. Format: YYYY-MM-DDThh:mm:ssZ, where: YYYY indicates the year, MM indicates the month, DD indicates the day, T indicates the start of the required time section, hh indicates the hour, mm indicates the minute, ss indicates the second, and Z the UTC time stamp indication. - * - * <!-- end-model-doc --> * @return the value of the '<em>Uml Date</em>' attribute. + * @see #isSetUmlDate() + * @see #unsetUmlDate() * @see #setUmlDate(XMLGregorianCalendar) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_UmlDate() - * @model dataType="org.eclipse.emf.ecore.xml.type.DateTime" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.DateTime" * extendedMetaData="kind='attribute' name='umlDate'" * @generated */ @@ -251,22 +309,47 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uml Date</em>' attribute. + * @see #isSetUmlDate() + * @see #unsetUmlDate() * @see #getUmlDate() * @generated */ void setUmlDate( XMLGregorianCalendar value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getUmlDate <em>Uml Date</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUmlDate() + * @see #getUmlDate() + * @see #setUmlDate(XMLGregorianCalendar) + * @generated + */ + void unsetUmlDate(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getUmlDate <em>Uml Date</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uml Date</em>' attribute is set. + * @see #unsetUmlDate() + * @see #getUmlDate() + * @see #setUmlDate(XMLGregorianCalendar) + * @generated + */ + boolean isSetUmlDate(); + /** * Returns the value of the '<em><b>Uml Version</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Version of UML from which this namespace definition file was generated from. - * <!-- end-model-doc --> * @return the value of the '<em>Uml Version</em>' attribute. + * @see #isSetUmlVersion() + * @see #unsetUmlVersion() * @see #setUmlVersion(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNSDoc_UmlVersion() - * @model extendedMetaData="kind='attribute' name='umlVersion'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='umlVersion'" * @generated */ String getUmlVersion(); @@ -276,9 +359,34 @@ public interface NSDoc extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uml Version</em>' attribute. + * @see #isSetUmlVersion() + * @see #unsetUmlVersion() * @see #getUmlVersion() * @generated */ void setUmlVersion( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getUmlVersion <em>Uml Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUmlVersion() + * @see #getUmlVersion() + * @see #setUmlVersion(String) + * @generated + */ + void unsetUmlVersion(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc#getUmlVersion <em>Uml Version</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uml Version</em>' attribute is set. + * @see #unsetUmlVersion() + * @see #getUmlVersion() + * @see #setUmlVersion(String) + * @generated + */ + boolean isSetUmlVersion(); + } // NSDoc diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Notice.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Notice.java index 5aa2e36..83f2a17 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Notice.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/Notice.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.util.FeatureMap; * A representation of the model object '<em><b>Notice</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Textual notice - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getMixed <em>Mixed</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getCopyrightNotice <em>Copyright Notice</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNotice() @@ -61,4 +58,32 @@ public interface Notice extends EObject { */ FeatureMap getMixed(); + /** + * Returns the value of the '<em><b>Copyright Notice</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getNotice <em>Notice</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Copyright Notice</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>Copyright Notice</em>' container reference. + * @see #setCopyrightNotice(CopyrightNotice) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNotice_CopyrightNotice() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getNotice + * @model opposite="notice" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + CopyrightNotice getCopyrightNotice(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getCopyrightNotice <em>Copyright Notice</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Copyright Notice</em>' container reference. + * @see #getCopyrightNotice() + * @generated + */ + void setCopyrightNotice( CopyrightNotice value ); + } // Notice diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java index abd1236..a7e0a84 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdFactory.java @@ -48,13 +48,13 @@ public interface NsdFactory extends EFactory { AppliesToType createAppliesToType(); /** - * Returns a new object of class '<em>Depends On Type</em>'. + * Returns a new object of class '<em>Depends On</em>'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return a new object of class '<em>Depends On Type</em>'. + * @return a new object of class '<em>Depends On</em>'. * @generated */ - DependsOnType createDependsOnType(); + DependsOn createDependsOn(); /** * Returns a new object of class '<em>Document Root</em>'. @@ -434,15 +434,6 @@ public interface NsdFactory extends EFactory { */ ServiceParameter createServiceParameter(); - /** - * Returns a new object of class '<em>Service Type Realization</em>'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return a new object of class '<em>Service Type Realization</em>'. - * @generated - */ - ServiceTypeRealization createServiceTypeRealization(); - /** * Returns a new object of class '<em>Service Type Realizations</em>'. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java index 6897358..3c6c8d2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdPackage.java @@ -86,7 +86,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getNSDObjectWithVersionAndRelease() * @generated */ - int NSD_OBJECT_WITH_VERSION_AND_RELEASE = 50; + int NSD_OBJECT_WITH_VERSION_AND_RELEASE = 49; /** * The feature id for the '<em><b>Release</b></em>' attribute. @@ -179,6 +179,15 @@ public interface NsdPackage extends EPackage { */ int APPLIES_TO_TYPE__REVISION = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 2; + /** + * The feature id for the '<em><b>Service Ns Usage</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__SERVICE_NS_USAGE = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 3; + /** * The number of structural features of the '<em>Applies To Type</em>' class. * <!-- begin-user-doc --> @@ -186,7 +195,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int APPLIES_TO_TYPE_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 3; + int APPLIES_TO_TYPE_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 4; /** * The number of operations of the '<em>Applies To Type</em>' class. @@ -198,14 +207,14 @@ public interface NsdPackage extends EPackage { int APPLIES_TO_TYPE_OPERATION_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_OPERATION_COUNT + 0; /** - * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl <em>Depends On Type</em>}' class. + * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl <em>Depends On</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDependsOnType() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDependsOn() * @generated */ - int DEPENDS_ON_TYPE = 1; + int DEPENDS_ON = 1; /** * The feature id for the '<em><b>Release</b></em>' attribute. @@ -214,7 +223,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DEPENDS_ON_TYPE__RELEASE = NSD_OBJECT_WITH_VERSION_AND_RELEASE__RELEASE; + int DEPENDS_ON__RELEASE = NSD_OBJECT_WITH_VERSION_AND_RELEASE__RELEASE; /** * The feature id for the '<em><b>Version</b></em>' attribute. @@ -223,7 +232,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DEPENDS_ON_TYPE__VERSION = NSD_OBJECT_WITH_VERSION_AND_RELEASE__VERSION; + int DEPENDS_ON__VERSION = NSD_OBJECT_WITH_VERSION_AND_RELEASE__VERSION; /** * The feature id for the '<em><b>Id</b></em>' attribute. @@ -232,7 +241,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DEPENDS_ON_TYPE__ID = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 0; + int DEPENDS_ON__ID = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 0; /** * The feature id for the '<em><b>Publication Stage</b></em>' attribute. @@ -241,7 +250,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DEPENDS_ON_TYPE__PUBLICATION_STAGE = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 1; + int DEPENDS_ON__PUBLICATION_STAGE = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 1; /** * The feature id for the '<em><b>Revision</b></em>' attribute. @@ -250,25 +259,34 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DEPENDS_ON_TYPE__REVISION = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 2; + int DEPENDS_ON__REVISION = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__NS = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 3; /** - * The number of structural features of the '<em>Depends On Type</em>' class. + * The number of structural features of the '<em>Depends On</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int DEPENDS_ON_TYPE_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 3; + int DEPENDS_ON_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 4; /** - * The number of operations of the '<em>Depends On Type</em>' class. + * The number of operations of the '<em>Depends On</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int DEPENDS_ON_TYPE_OPERATION_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_OPERATION_COUNT + 0; + int DEPENDS_ON_OPERATION_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_OPERATION_COUNT + 0; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl <em>Document Root</em>}' class. @@ -316,15 +334,6 @@ public interface NsdPackage extends EPackage { */ int DOCUMENT_ROOT__APPLICABLE_SERVICE_NS = 3; - /** - * The feature id for the '<em><b>Copyright</b></em>' containment reference. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int DOCUMENT_ROOT__COPYRIGHT = 4; - /** * The feature id for the '<em><b>NS</b></em>' containment reference. * <!-- begin-user-doc --> @@ -332,7 +341,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOCUMENT_ROOT__NS = 5; + int DOCUMENT_ROOT__NS = 4; /** * The feature id for the '<em><b>NS Doc</b></em>' containment reference. @@ -341,7 +350,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOCUMENT_ROOT__NS_DOC = 6; + int DOCUMENT_ROOT__NS_DOC = 5; /** * The feature id for the '<em><b>Service NS</b></em>' containment reference. @@ -350,7 +359,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOCUMENT_ROOT__SERVICE_NS = 7; + int DOCUMENT_ROOT__SERVICE_NS = 6; /** * The number of structural features of the '<em>Document Root</em>' class. @@ -359,7 +368,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOCUMENT_ROOT_FEATURE_COUNT = 8; + int DOCUMENT_ROOT_FEATURE_COUNT = 7; /** * The number of operations of the '<em>Document Root</em>' class. @@ -389,6 +398,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_TYPE__NAME = 0; + /** + * The feature id for the '<em><b>Applicable Services</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_TYPE__APPLICABLE_SERVICES = 1; + /** * The number of structural features of the '<em>Service Type</em>' class. * <!-- begin-user-doc --> @@ -396,7 +414,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_TYPE_FEATURE_COUNT = 1; + int SERVICE_TYPE_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Service Type</em>' class. @@ -435,6 +453,15 @@ public interface NsdPackage extends EPackage { */ int ABBREVIATION__NAME = 1; + /** + * The feature id for the '<em><b>Abbreviations</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABBREVIATION__ABBREVIATIONS = 2; + /** * The number of structural features of the '<em>Abbreviation</em>' class. * <!-- begin-user-doc --> @@ -442,7 +469,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABBREVIATION_FEATURE_COUNT = 2; + int ABBREVIATION_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Abbreviation</em>' class. @@ -472,6 +499,24 @@ public interface NsdPackage extends EPackage { */ int ABBREVIATIONS__ABBREVIATION = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABBREVIATIONS__NS = 1; + + /** + * The feature id for the '<em><b>Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABBREVIATIONS__SERVICE_NS = 2; + /** * The number of structural features of the '<em>Abbreviations</em>' class. * <!-- begin-user-doc --> @@ -479,7 +524,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABBREVIATIONS_FEATURE_COUNT = 1; + int ABBREVIATIONS_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Abbreviations</em>' class. @@ -553,7 +598,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getTitledClass() * @generated */ - int TITLED_CLASS = 49; + int TITLED_CLASS = 48; /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. @@ -764,6 +809,15 @@ public interface NsdPackage extends EPackage { */ int ABSTRACT_LN_CLASS__NAME = ANY_LN_CLASS_FEATURE_COUNT + 0; + /** + * The feature id for the '<em><b>LN Classes</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_LN_CLASS__LN_CLASSES = ANY_LN_CLASS_FEATURE_COUNT + 1; + /** * The number of structural features of the '<em>Abstract LN Class</em>' class. * <!-- begin-user-doc --> @@ -771,7 +825,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ABSTRACT_LN_CLASS_FEATURE_COUNT = ANY_LN_CLASS_FEATURE_COUNT + 1; + int ABSTRACT_LN_CLASS_FEATURE_COUNT = ANY_LN_CLASS_FEATURE_COUNT + 2; /** * The number of operations of the '<em>Abstract LN Class</em>' class. @@ -911,6 +965,15 @@ public interface NsdPackage extends EPackage { */ int APPLICABLE_SERVICES__DATA_SET_MEMBER_OF = 1; + /** + * The feature id for the '<em><b>Functional Constraint</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT = 2; + /** * The number of structural features of the '<em>Applicable Services</em>' class. * <!-- begin-user-doc --> @@ -918,7 +981,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int APPLICABLE_SERVICES_FEATURE_COUNT = 2; + int APPLICABLE_SERVICES_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Applicable Services</em>' class. @@ -957,6 +1020,15 @@ public interface NsdPackage extends EPackage { */ int BASIC_TYPE__NAME = 1; + /** + * The feature id for the '<em><b>Basic Types</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BASIC_TYPE__BASIC_TYPES = 2; + /** * The number of structural features of the '<em>Basic Type</em>' class. * <!-- begin-user-doc --> @@ -964,7 +1036,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int BASIC_TYPE_FEATURE_COUNT = 2; + int BASIC_TYPE_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Basic Type</em>' class. @@ -994,6 +1066,15 @@ public interface NsdPackage extends EPackage { */ int BASIC_TYPES__BASIC_TYPE = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BASIC_TYPES__NS = 1; + /** * The number of structural features of the '<em>Basic Types</em>' class. * <!-- begin-user-doc --> @@ -1001,7 +1082,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int BASIC_TYPES_FEATURE_COUNT = 1; + int BASIC_TYPES_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Basic Types</em>' class. @@ -1130,6 +1211,15 @@ public interface NsdPackage extends EPackage { */ int CDC__VARIANT = TITLED_CLASS_FEATURE_COUNT + 7; + /** + * The feature id for the '<em><b>CD Cs</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CDC__CD_CS = TITLED_CLASS_FEATURE_COUNT + 8; + /** * The number of structural features of the '<em>CDC</em>' class. * <!-- begin-user-doc --> @@ -1137,7 +1227,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CDC_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 8; + int CDC_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 9; /** * The number of operations of the '<em>CDC</em>' class. @@ -1167,6 +1257,15 @@ public interface NsdPackage extends EPackage { */ int CD_CS__CDC = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CD_CS__NS = 1; + /** * The number of structural features of the '<em>CD Cs</em>' class. * <!-- begin-user-doc --> @@ -1174,7 +1273,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CD_CS_FEATURE_COUNT = 1; + int CD_CS_FEATURE_COUNT = 2; /** * The number of operations of the '<em>CD Cs</em>' class. @@ -1249,6 +1348,24 @@ public interface NsdPackage extends EPackage { */ int CHANGES__TISSUES = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 3; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CHANGES__NS = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CHANGES__SERVICE_NS = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 5; + /** * The number of structural features of the '<em>Changes</em>' class. * <!-- begin-user-doc --> @@ -1256,7 +1373,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CHANGES_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 4; + int CHANGES_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 6; /** * The number of operations of the '<em>Changes</em>' class. @@ -1331,6 +1448,24 @@ public interface NsdPackage extends EPackage { */ int CONSTRUCTED_ATTRIBUTE__NAME = TITLED_CLASS_FEATURE_COUNT + 1; + /** + * The feature id for the '<em><b>Constructed Attributes</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES = TITLED_CLASS_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Service Type Realizations</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS = TITLED_CLASS_FEATURE_COUNT + 3; + /** * The number of structural features of the '<em>Constructed Attribute</em>' class. * <!-- begin-user-doc --> @@ -1338,7 +1473,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 2; + int CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 4; /** * The number of operations of the '<em>Constructed Attribute</em>' class. @@ -1368,6 +1503,15 @@ public interface NsdPackage extends EPackage { */ int CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONSTRUCTED_ATTRIBUTES__NS = 1; + /** * The number of structural features of the '<em>Constructed Attributes</em>' class. * <!-- begin-user-doc --> @@ -1375,7 +1519,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CONSTRUCTED_ATTRIBUTES_FEATURE_COUNT = 1; + int CONSTRUCTED_ATTRIBUTES_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Constructed Attributes</em>' class. @@ -1414,6 +1558,15 @@ public interface NsdPackage extends EPackage { */ int COPYRIGHT_NOTICE__LICENSE = 1; + /** + * The feature id for the '<em><b>Copyrighted</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COPYRIGHT_NOTICE__COPYRIGHTED = 2; + /** * The number of structural features of the '<em>Copyright Notice</em>' class. * <!-- begin-user-doc --> @@ -1421,7 +1574,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int COPYRIGHT_NOTICE_FEATURE_COUNT = 2; + int COPYRIGHT_NOTICE_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Copyright Notice</em>' class. @@ -1622,6 +1775,15 @@ public interface NsdPackage extends EPackage { */ int DATA_ATTRIBUTE__TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 16; + /** + * The feature id for the '<em><b>CDC</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 17; + /** * The number of structural features of the '<em>Data Attribute</em>' class. * <!-- begin-user-doc --> @@ -1629,7 +1791,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 17; + int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 18; /** * The number of operations of the '<em>Data Attribute</em>' class. @@ -1776,6 +1938,15 @@ public interface NsdPackage extends EPackage { */ int DATA_OBJECT__UNDERLYING_TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 10; + /** + * The feature id for the '<em><b>Any LN Class</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_OBJECT__ANY_LN_CLASS = DOCUMENTED_CLASS_FEATURE_COUNT + 11; + /** * The number of structural features of the '<em>Data Object</em>' class. * <!-- begin-user-doc --> @@ -1783,7 +1954,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 11; + int DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 12; /** * The number of operations of the '<em>Data Object</em>' class. @@ -1813,6 +1984,15 @@ public interface NsdPackage extends EPackage { */ int DATA_SET_MEMBER_OF__CB = 0; + /** + * The feature id for the '<em><b>Applicable Services</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_SET_MEMBER_OF__APPLICABLE_SERVICES = 1; + /** * The number of structural features of the '<em>Data Set Member Of</em>' class. * <!-- begin-user-doc --> @@ -1820,7 +2000,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_SET_MEMBER_OF_FEATURE_COUNT = 1; + int DATA_SET_MEMBER_OF_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Data Set Member Of</em>' class. @@ -1877,6 +2057,15 @@ public interface NsdPackage extends EPackage { */ int DOC__ID = 3; + /** + * The feature id for the '<em><b>NS Doc</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DOC__NS_DOC = 4; + /** * The number of structural features of the '<em>Doc</em>' class. * <!-- begin-user-doc --> @@ -1884,7 +2073,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DOC_FEATURE_COUNT = 4; + int DOC_FEATURE_COUNT = 5; /** * The number of operations of the '<em>Doc</em>' class. @@ -1968,6 +2157,15 @@ public interface NsdPackage extends EPackage { */ int ENUMERATION__NAME = TITLED_CLASS_FEATURE_COUNT + 2; + /** + * The feature id for the '<em><b>Enumerations</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ENUMERATION__ENUMERATIONS = TITLED_CLASS_FEATURE_COUNT + 3; + /** * The number of structural features of the '<em>Enumeration</em>' class. * <!-- begin-user-doc --> @@ -1975,7 +2173,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ENUMERATION_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 3; + int ENUMERATION_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 4; /** * The number of operations of the '<em>Enumeration</em>' class. @@ -2005,6 +2203,15 @@ public interface NsdPackage extends EPackage { */ int ENUMERATIONS__ENUMERATION = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ENUMERATIONS__NS = 1; + /** * The number of structural features of the '<em>Enumerations</em>' class. * <!-- begin-user-doc --> @@ -2012,7 +2219,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ENUMERATIONS_FEATURE_COUNT = 1; + int ENUMERATIONS_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Enumerations</em>' class. @@ -2069,6 +2276,15 @@ public interface NsdPackage extends EPackage { */ int FUNCTIONAL_CONSTRAINT__TITLE_ID = 3; + /** + * The feature id for the '<em><b>Functional Constraints</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS = 4; + /** * The number of structural features of the '<em>Functional Constraint</em>' class. * <!-- begin-user-doc --> @@ -2076,7 +2292,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int FUNCTIONAL_CONSTRAINT_FEATURE_COUNT = 4; + int FUNCTIONAL_CONSTRAINT_FEATURE_COUNT = 5; /** * The number of operations of the '<em>Functional Constraint</em>' class. @@ -2106,6 +2322,24 @@ public interface NsdPackage extends EPackage { */ int FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONAL_CONSTRAINTS__NS = 1; + + /** + * The feature id for the '<em><b>Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONAL_CONSTRAINTS__SERVICE_NS = 2; + /** * The number of structural features of the '<em>Functional Constraints</em>' class. * <!-- begin-user-doc --> @@ -2113,7 +2347,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int FUNCTIONAL_CONSTRAINTS_FEATURE_COUNT = 1; + int FUNCTIONAL_CONSTRAINTS_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Functional Constraints</em>' class. @@ -2161,6 +2395,15 @@ public interface NsdPackage extends EPackage { */ int LICENSE__URI = 2; + /** + * The feature id for the '<em><b>Copyright Notice</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LICENSE__COPYRIGHT_NOTICE = 3; + /** * The number of structural features of the '<em>License</em>' class. * <!-- begin-user-doc --> @@ -2168,7 +2411,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LICENSE_FEATURE_COUNT = 3; + int LICENSE_FEATURE_COUNT = 4; /** * The number of operations of the '<em>License</em>' class. @@ -2234,6 +2477,15 @@ public interface NsdPackage extends EPackage { */ int LITERAL__NAME = DOCUMENTED_CLASS_FEATURE_COUNT + 1; + /** + * The feature id for the '<em><b>Enumeration</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LITERAL__ENUMERATION = DOCUMENTED_CLASS_FEATURE_COUNT + 2; + /** * The number of structural features of the '<em>Literal</em>' class. * <!-- begin-user-doc --> @@ -2241,7 +2493,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LITERAL_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 2; + int LITERAL_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 3; /** * The number of operations of the '<em>Literal</em>' class. @@ -2343,6 +2595,15 @@ public interface NsdPackage extends EPackage { */ int LN_CLASS__NAME = ANY_LN_CLASS_FEATURE_COUNT + 2; + /** + * The feature id for the '<em><b>LN Classes</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASS__LN_CLASSES = ANY_LN_CLASS_FEATURE_COUNT + 3; + /** * The number of structural features of the '<em>LN Class</em>' class. * <!-- begin-user-doc --> @@ -2350,7 +2611,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LN_CLASS_FEATURE_COUNT = ANY_LN_CLASS_FEATURE_COUNT + 3; + int LN_CLASS_FEATURE_COUNT = ANY_LN_CLASS_FEATURE_COUNT + 4; /** * The number of operations of the '<em>LN Class</em>' class. @@ -2389,6 +2650,15 @@ public interface NsdPackage extends EPackage { */ int LN_CLASSES__LN_CLASS = 1; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASSES__NS = 2; + /** * The number of structural features of the '<em>LN Classes</em>' class. * <!-- begin-user-doc --> @@ -2396,7 +2666,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int LN_CLASSES_FEATURE_COUNT = 2; + int LN_CLASSES_FEATURE_COUNT = 3; /** * The number of operations of the '<em>LN Classes</em>' class. @@ -2426,6 +2696,15 @@ public interface NsdPackage extends EPackage { */ int NOTICE__MIXED = 0; + /** + * The feature id for the '<em><b>Copyright Notice</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOTICE__COPYRIGHT_NOTICE = 1; + /** * The number of structural features of the '<em>Notice</em>' class. * <!-- begin-user-doc --> @@ -2433,7 +2712,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NOTICE_FEATURE_COUNT = 1; + int NOTICE_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Notice</em>' class. @@ -2807,6 +3086,15 @@ public interface NsdPackage extends EPackage { */ int PRESENCE_CONDITION__TITLE_ID = 3; + /** + * The feature id for the '<em><b>Presence Conditions</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITION__PRESENCE_CONDITIONS = 4; + /** * The number of structural features of the '<em>Presence Condition</em>' class. * <!-- begin-user-doc --> @@ -2814,7 +3102,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int PRESENCE_CONDITION_FEATURE_COUNT = 4; + int PRESENCE_CONDITION_FEATURE_COUNT = 5; /** * The number of operations of the '<em>Presence Condition</em>' class. @@ -2844,6 +3132,24 @@ public interface NsdPackage extends EPackage { */ int PRESENCE_CONDITIONS__PRESENCE_CONDITION = 0; + /** + * The feature id for the '<em><b>NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITIONS__NS = 1; + + /** + * The feature id for the '<em><b>Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITIONS__SERVICE_NS = 2; + /** * The number of structural features of the '<em>Presence Conditions</em>' class. * <!-- begin-user-doc --> @@ -2851,7 +3157,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int PRESENCE_CONDITIONS_FEATURE_COUNT = 1; + int PRESENCE_CONDITIONS_FEATURE_COUNT = 3; /** * The number of operations of the '<em>Presence Conditions</em>' class. @@ -2900,16 +3206,25 @@ public interface NsdPackage extends EPackage { int SERVICE_CDC__VARIANT = 2; /** - * The number of structural features of the '<em>Service CDC</em>' class. + * The feature id for the '<em><b>Service CD Cs</b></em>' container reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SERVICE_CDC_FEATURE_COUNT = 3; + int SERVICE_CDC__SERVICE_CD_CS = 3; /** - * The number of operations of the '<em>Service CDC</em>' class. + * The number of structural features of the '<em>Service CDC</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CDC_FEATURE_COUNT = 4; + + /** + * The number of operations of the '<em>Service CDC</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated @@ -2936,6 +3251,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CD_CS__SERVICE_CDC = 0; + /** + * The feature id for the '<em><b>Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CD_CS__SERVICE_NS = 1; + /** * The number of structural features of the '<em>Service CD Cs</em>' class. * <!-- begin-user-doc --> @@ -2943,7 +3267,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CD_CS_FEATURE_COUNT = 1; + int SERVICE_CD_CS_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Service CD Cs</em>' class. @@ -3018,6 +3342,24 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CONSTRUCTED_ATTRIBUTE__NAME = CONSTRUCTED_ATTRIBUTE__NAME; + /** + * The feature id for the '<em><b>Constructed Attributes</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES = CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES; + + /** + * The feature id for the '<em><b>Service Type Realizations</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS = CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS; + /** * The feature id for the '<em><b>Type Kind Parameterized</b></em>' attribute. * <!-- begin-user-doc --> @@ -3027,6 +3369,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED = CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT + 0; + /** + * The feature id for the '<em><b>Service Constructed Attribute</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE = CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT + 1; + /** * The number of structural features of the '<em>Service Constructed Attribute</em>' class. * <!-- begin-user-doc --> @@ -3034,7 +3385,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT + 1; + int SERVICE_CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT = CONSTRUCTED_ATTRIBUTE_FEATURE_COUNT + 2; /** * The number of operations of the '<em>Service Constructed Attribute</em>' class. @@ -3064,6 +3415,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE = 0; + /** + * The feature id for the '<em><b>Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS = 1; + /** * The number of structural features of the '<em>Service Constructed Attributes</em>' class. * <!-- begin-user-doc --> @@ -3071,7 +3431,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_CONSTRUCTED_ATTRIBUTES_FEATURE_COUNT = 1; + int SERVICE_CONSTRUCTED_ATTRIBUTES_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Service Constructed Attributes</em>' class. @@ -3200,6 +3560,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 8; + /** + * The feature id for the '<em><b>Service CDC</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_DATA_ATTRIBUTE__SERVICE_CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 9; + /** * The number of structural features of the '<em>Service Data Attribute</em>' class. * <!-- begin-user-doc --> @@ -3207,7 +3576,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 9; + int SERVICE_DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 10; /** * The number of operations of the '<em>Service Data Attribute</em>' class. @@ -3454,6 +3823,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_NS_USAGE__REVISION = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 3; + /** + * The feature id for the '<em><b>Applicable Service NS</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 4; + /** * The number of structural features of the '<em>Service Ns Usage</em>' class. * <!-- begin-user-doc --> @@ -3461,7 +3839,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_NS_USAGE_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 4; + int SERVICE_NS_USAGE_FEATURE_COUNT = NSD_OBJECT_WITH_VERSION_AND_RELEASE_FEATURE_COUNT + 5; /** * The number of operations of the '<em>Service Ns Usage</em>' class. @@ -3564,132 +3942,59 @@ public interface NsdPackage extends EPackage { int SERVICE_PARAMETER__TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 5; /** - * The number of structural features of the '<em>Service Parameter</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int SERVICE_PARAMETER_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 6; - - /** - * The number of operations of the '<em>Service Parameter</em>' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int SERVICE_PARAMETER_OPERATION_COUNT = DOCUMENTED_CLASS_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl <em>Service Type Realization</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getServiceTypeRealization() - * @generated - */ - int SERVICE_TYPE_REALIZATION = 45; - - /** - * The feature id for the '<em><b>Fc</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int SERVICE_TYPE_REALIZATION__FC = 0; - - /** - * The feature id for the '<em><b>Name</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int SERVICE_TYPE_REALIZATION__NAME = 1; - - /** - * The feature id for the '<em><b>Pres Cond</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int SERVICE_TYPE_REALIZATION__PRES_COND = 2; - - /** - * The feature id for the '<em><b>Pres Cond Args</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - int SERVICE_TYPE_REALIZATION__PRES_COND_ARGS = 3; - - /** - * The feature id for the '<em><b>Pres Cond Args ID</b></em>' attribute. + * The feature id for the '<em><b>CDC</b></em>' container reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID = 4; + int SERVICE_PARAMETER__CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 6; /** - * The feature id for the '<em><b>Type</b></em>' attribute. + * The number of structural features of the '<em>Service Parameter</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SERVICE_TYPE_REALIZATION__TYPE = 5; + int SERVICE_PARAMETER_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 7; /** - * The feature id for the '<em><b>Type Kind</b></em>' attribute. + * The number of operations of the '<em>Service Parameter</em>' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SERVICE_TYPE_REALIZATION__TYPE_KIND = 6; + int SERVICE_PARAMETER_OPERATION_COUNT = DOCUMENTED_CLASS_OPERATION_COUNT + 0; /** - * The number of structural features of the '<em>Service Type Realization</em>' class. + * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl <em>Service Type Realizations</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getServiceTypeRealizations() * @generated - * @ordered */ - int SERVICE_TYPE_REALIZATION_FEATURE_COUNT = 7; + int SERVICE_TYPE_REALIZATIONS = 45; /** - * The number of operations of the '<em>Service Type Realization</em>' class. + * The feature id for the '<em><b>Service Type Realization</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SERVICE_TYPE_REALIZATION_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl <em>Service Type Realizations</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getServiceTypeRealizations() - * @generated - */ - int SERVICE_TYPE_REALIZATIONS = 46; + int SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION = 0; /** - * The feature id for the '<em><b>Service Type Realization</b></em>' containment reference list. + * The feature id for the '<em><b>Service NS</b></em>' container reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION = 0; + int SERVICE_TYPE_REALIZATIONS__SERVICE_NS = 1; /** * The number of structural features of the '<em>Service Type Realizations</em>' class. @@ -3698,7 +4003,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SERVICE_TYPE_REALIZATIONS_FEATURE_COUNT = 1; + int SERVICE_TYPE_REALIZATIONS_FEATURE_COUNT = 2; /** * The number of operations of the '<em>Service Type Realizations</em>' class. @@ -3717,7 +4022,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getSubDataAttribute() * @generated */ - int SUB_DATA_ATTRIBUTE = 47; + int SUB_DATA_ATTRIBUTE = 46; /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. @@ -3863,6 +4168,15 @@ public interface NsdPackage extends EPackage { */ int SUB_DATA_ATTRIBUTE__TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 12; + /** + * The feature id for the '<em><b>Constructed Attribute</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 13; + /** * The number of structural features of the '<em>Sub Data Attribute</em>' class. * <!-- begin-user-doc --> @@ -3870,7 +4184,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SUB_DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 13; + int SUB_DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 14; /** * The number of operations of the '<em>Sub Data Attribute</em>' class. @@ -3889,7 +4203,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getSubDataObject() * @generated */ - int SUB_DATA_OBJECT = 48; + int SUB_DATA_OBJECT = 47; /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. @@ -4017,6 +4331,15 @@ public interface NsdPackage extends EPackage { */ int SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 10; + /** + * The feature id for the '<em><b>CDC</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_OBJECT__CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 11; + /** * The number of structural features of the '<em>Sub Data Object</em>' class. * <!-- begin-user-doc --> @@ -4024,7 +4347,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SUB_DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 11; + int SUB_DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 12; /** * The number of operations of the '<em>Sub Data Object</em>' class. @@ -4043,7 +4366,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getACSIServicesKind() * @generated */ - int ACSI_SERVICES_KIND = 51; + int ACSI_SERVICES_KIND = 50; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CBKind <em>CB Kind</em>}' enum. @@ -4053,7 +4376,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getCBKind() * @generated */ - int CB_KIND = 52; + int CB_KIND = 51; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind <em>Defined Attribute Type Kind</em>}' enum. @@ -4063,7 +4386,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDefinedAttributeTypeKind() * @generated */ - int DEFINED_ATTRIBUTE_TYPE_KIND = 53; + int DEFINED_ATTRIBUTE_TYPE_KIND = 52; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LicenseKind <em>License Kind</em>}' enum. @@ -4073,7 +4396,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getLicenseKind() * @generated */ - int LICENSE_KIND = 54; + int LICENSE_KIND = 53; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage <em>Pub Stage</em>}' enum. @@ -4083,7 +4406,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getPubStage() * @generated */ - int PUB_STAGE = 55; + int PUB_STAGE = 54; /** * The meta object id for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.UndefinedAttributeTypeKind <em>Undefined Attribute Type Kind</em>}' enum. @@ -4093,7 +4416,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getUndefinedAttributeTypeKind() * @generated */ - int UNDEFINED_ATTRIBUTE_TYPE_KIND = 56; + int UNDEFINED_ATTRIBUTE_TYPE_KIND = 55; /** * The meta object id for the '<em>ACSI Services Kind Object</em>' data type. @@ -4103,7 +4426,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getACSIServicesKindObject() * @generated */ - int ACSI_SERVICES_KIND_OBJECT = 57; + int ACSI_SERVICES_KIND_OBJECT = 56; /** * The meta object id for the '<em>Attribute Type Kind</em>' data type. @@ -4113,7 +4436,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getAttributeTypeKind() * @generated */ - int ATTRIBUTE_TYPE_KIND = 58; + int ATTRIBUTE_TYPE_KIND = 57; /** * The meta object id for the '<em>CB Kind Object</em>' data type. @@ -4123,7 +4446,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getCBKindObject() * @generated */ - int CB_KIND_OBJECT = 59; + int CB_KIND_OBJECT = 58; /** * The meta object id for the '<em>Defined Attribute Type Kind Object</em>' data type. @@ -4133,7 +4456,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDefinedAttributeTypeKindObject() * @generated */ - int DEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 60; + int DEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 59; /** * The meta object id for the '<em>License Kind Object</em>' data type. @@ -4143,7 +4466,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getLicenseKindObject() * @generated */ - int LICENSE_KIND_OBJECT = 61; + int LICENSE_KIND_OBJECT = 60; /** * The meta object id for the '<em>Pub Stage Object</em>' data type. @@ -4153,7 +4476,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getPubStageObject() * @generated */ - int PUB_STAGE_OBJECT = 62; + int PUB_STAGE_OBJECT = 61; /** * The meta object id for the '<em>Undefined Attribute Type Kind Object</em>' data type. @@ -4163,7 +4486,7 @@ public interface NsdPackage extends EPackage { * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getUndefinedAttributeTypeKindObject() * @generated */ - int UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 63; + int UNDEFINED_ATTRIBUTE_TYPE_KIND_OBJECT = 62; /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType <em>Applies To Type</em>}'. @@ -4209,47 +4532,69 @@ public interface NsdPackage extends EPackage { EAttribute getAppliesToType_Revision(); /** - * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType <em>Depends On Type</em>}'. + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getServiceNsUsage <em>Service Ns Usage</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service Ns Usage</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getServiceNsUsage() + * @see #getAppliesToType() + * @generated + */ + EReference getAppliesToType_ServiceNsUsage(); + + /** + * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn <em>Depends On</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for class '<em>Depends On Type</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType + * @return the meta object for class '<em>Depends On</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn * @generated */ - EClass getDependsOnType(); + EClass getDependsOn(); /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId <em>Id</em>}'. + * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getId <em>Id</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the meta object for the attribute '<em>Id</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getId() - * @see #getDependsOnType() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getId() + * @see #getDependsOn() * @generated */ - EAttribute getDependsOnType_Id(); + EAttribute getDependsOn_Id(); /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage <em>Publication Stage</em>}'. + * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getPublicationStage <em>Publication Stage</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the meta object for the attribute '<em>Publication Stage</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getPublicationStage() - * @see #getDependsOnType() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getPublicationStage() + * @see #getDependsOn() * @generated */ - EAttribute getDependsOnType_PublicationStage(); + EAttribute getDependsOn_PublicationStage(); /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision <em>Revision</em>}'. + * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRevision <em>Revision</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the meta object for the attribute '<em>Revision</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType#getRevision() - * @see #getDependsOnType() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getRevision() + * @see #getDependsOn() + * @generated + */ + EAttribute getDependsOn_Revision(); + + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn#getNS() + * @see #getDependsOn() * @generated */ - EAttribute getDependsOnType_Revision(); + EReference getDependsOn_NS(); /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot <em>Document Root</em>}'. @@ -4305,17 +4650,6 @@ public interface NsdPackage extends EPackage { */ EReference getDocumentRoot_ApplicableServiceNS(); - /** - * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright <em>Copyright</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the containment reference '<em>Copyright</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getCopyright() - * @see #getDocumentRoot() - * @generated - */ - EReference getDocumentRoot_Copyright(); - /** * Returns the meta object for the containment reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot#getNS <em>NS</em>}'. * <!-- begin-user-doc --> @@ -4370,6 +4704,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getServiceType_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getApplicableServices <em>Applicable Services</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Applicable Services</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getApplicableServices() + * @see #getServiceType() + * @generated + */ + EReference getServiceType_ApplicableServices(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation <em>Abbreviation</em>}'. * <!-- begin-user-doc --> @@ -4402,6 +4747,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getAbbreviation_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getAbbreviations <em>Abbreviations</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Abbreviations</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation#getAbbreviations() + * @see #getAbbreviation() + * @generated + */ + EReference getAbbreviation_Abbreviations(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations <em>Abbreviations</em>}'. * <!-- begin-user-doc --> @@ -4423,6 +4779,28 @@ public interface NsdPackage extends EPackage { */ EReference getAbbreviations_Abbreviation(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getNS() + * @see #getAbbreviations() + * @generated + */ + EReference getAbbreviations_NS(); + + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getServiceNS() + * @see #getAbbreviations() + * @generated + */ + EReference getAbbreviations_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass <em>Abstract LN Class</em>}'. * <!-- begin-user-doc --> @@ -4444,6 +4822,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getAbstractLNClass_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses <em>LN Classes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>LN Classes</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass#getLNClasses() + * @see #getAbstractLNClass() + * @generated + */ + EReference getAbstractLNClass_LNClasses(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass <em>Any LN Class</em>}'. * <!-- begin-user-doc --> @@ -4551,6 +4940,17 @@ public interface NsdPackage extends EPackage { */ EReference getApplicableServices_DataSetMemberOf(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getFunctionalConstraint <em>Functional Constraint</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Functional Constraint</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getFunctionalConstraint() + * @see #getApplicableServices() + * @generated + */ + EReference getApplicableServices_FunctionalConstraint(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType <em>Basic Type</em>}'. * <!-- begin-user-doc --> @@ -4583,6 +4983,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getBasicType_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getBasicTypes <em>Basic Types</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Basic Types</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType#getBasicTypes() + * @see #getBasicType() + * @generated + */ + EReference getBasicType_BasicTypes(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes <em>Basic Types</em>}'. * <!-- begin-user-doc --> @@ -4604,6 +5015,17 @@ public interface NsdPackage extends EPackage { */ EReference getBasicTypes_BasicType(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes#getNS() + * @see #getBasicTypes() + * @generated + */ + EReference getBasicTypes_NS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC <em>CDC</em>}'. * <!-- begin-user-doc --> @@ -4702,6 +5124,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getCDC_Variant(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getCDCs <em>CD Cs</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>CD Cs</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getCDCs() + * @see #getCDC() + * @generated + */ + EReference getCDC_CDCs(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs <em>CD Cs</em>}'. * <!-- begin-user-doc --> @@ -4723,6 +5156,17 @@ public interface NsdPackage extends EPackage { */ EReference getCDCs_CDC(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs#getNS() + * @see #getCDCs() + * @generated + */ + EReference getCDCs_NS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes <em>Changes</em>}'. * <!-- begin-user-doc --> @@ -4777,6 +5221,28 @@ public interface NsdPackage extends EPackage { */ EAttribute getChanges_Tissues(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getNS() + * @see #getChanges() + * @generated + */ + EReference getChanges_NS(); + + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getServiceNS() + * @see #getChanges() + * @generated + */ + EReference getChanges_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute <em>Constructed Attribute</em>}'. * <!-- begin-user-doc --> @@ -4810,10 +5276,32 @@ public interface NsdPackage extends EPackage { EAttribute getConstructedAttribute_Name(); /** - * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes <em>Constructed Attributes</em>}'. + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getConstructedAttributes <em>Constructed Attributes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for class '<em>Constructed Attributes</em>'. + * @return the meta object for the container reference '<em>Constructed Attributes</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getConstructedAttributes() + * @see #getConstructedAttribute() + * @generated + */ + EReference getConstructedAttribute_ConstructedAttributes(); + + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getServiceTypeRealizations <em>Service Type Realizations</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service Type Realizations</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getServiceTypeRealizations() + * @see #getConstructedAttribute() + * @generated + */ + EReference getConstructedAttribute_ServiceTypeRealizations(); + + /** + * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes <em>Constructed Attributes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Constructed Attributes</em>'. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes * @generated */ @@ -4830,6 +5318,17 @@ public interface NsdPackage extends EPackage { */ EReference getConstructedAttributes_ConstructedAttribute(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes#getNS() + * @see #getConstructedAttributes() + * @generated + */ + EReference getConstructedAttributes_NS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Copyrighted <em>Copyrighted</em>}'. * <!-- begin-user-doc --> @@ -4883,6 +5382,17 @@ public interface NsdPackage extends EPackage { */ EReference getCopyrightNotice_License(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getCopyrighted <em>Copyrighted</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Copyrighted</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice#getCopyrighted() + * @see #getCopyrightNotice() + * @generated + */ + EReference getCopyrightNotice_Copyrighted(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute <em>Data Attribute</em>}'. * <!-- begin-user-doc --> @@ -5080,6 +5590,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getDataAttribute_TypeKind(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC <em>CDC</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>CDC</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_CDC(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject <em>Data Object</em>}'. * <!-- begin-user-doc --> @@ -5211,6 +5732,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getDataObject_UnderlyingTypeKind(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass <em>Any LN Class</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Any LN Class</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass() + * @see #getDataObject() + * @generated + */ + EReference getDataObject_AnyLNClass(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf <em>Data Set Member Of</em>}'. * <!-- begin-user-doc --> @@ -5232,6 +5764,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getDataSetMemberOf_Cb(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getApplicableServices <em>Applicable Services</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Applicable Services</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf#getApplicableServices() + * @see #getDataSetMemberOf() + * @generated + */ + EReference getDataSetMemberOf_ApplicableServices(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc <em>Doc</em>}'. * <!-- begin-user-doc --> @@ -5286,6 +5829,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getDoc_Id(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getNSDoc <em>NS Doc</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS Doc</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc#getNSDoc() + * @see #getDoc() + * @generated + */ + EReference getDoc_NSDoc(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentedClass <em>Documented Class</em>}'. * <!-- begin-user-doc --> @@ -5372,6 +5926,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getEnumeration_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getEnumerations <em>Enumerations</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Enumerations</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getEnumerations() + * @see #getEnumeration() + * @generated + */ + EReference getEnumeration_Enumerations(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations <em>Enumerations</em>}'. * <!-- begin-user-doc --> @@ -5393,6 +5958,17 @@ public interface NsdPackage extends EPackage { */ EReference getEnumerations_Enumeration(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations#getNS() + * @see #getEnumerations() + * @generated + */ + EReference getEnumerations_NS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint <em>Functional Constraint</em>}'. * <!-- begin-user-doc --> @@ -5447,6 +6023,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getFunctionalConstraint_TitleID(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints <em>Functional Constraints</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Functional Constraints</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints() + * @see #getFunctionalConstraint() + * @generated + */ + EReference getFunctionalConstraint_FunctionalConstraints(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints <em>Functional Constraints</em>}'. * <!-- begin-user-doc --> @@ -5468,6 +6055,28 @@ public interface NsdPackage extends EPackage { */ EReference getFunctionalConstraints_FunctionalConstraint(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getNS() + * @see #getFunctionalConstraints() + * @generated + */ + EReference getFunctionalConstraints_NS(); + + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getServiceNS() + * @see #getFunctionalConstraints() + * @generated + */ + EReference getFunctionalConstraints_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License <em>License</em>}'. * <!-- begin-user-doc --> @@ -5511,6 +6120,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getLicense_Uri(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getCopyrightNotice <em>Copyright Notice</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Copyright Notice</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.License#getCopyrightNotice() + * @see #getLicense() + * @generated + */ + EReference getLicense_CopyrightNotice(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal <em>Literal</em>}'. * <!-- begin-user-doc --> @@ -5543,6 +6163,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getLiteral_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getEnumeration <em>Enumeration</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Enumeration</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal#getEnumeration() + * @see #getLiteral() + * @generated + */ + EReference getLiteral_Enumeration(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass <em>LN Class</em>}'. * <!-- begin-user-doc --> @@ -5586,6 +6217,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getLNClass_Name(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getLNClasses <em>LN Classes</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>LN Classes</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass#getLNClasses() + * @see #getLNClass() + * @generated + */ + EReference getLNClass_LNClasses(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses <em>LN Classes</em>}'. * <!-- begin-user-doc --> @@ -5618,6 +6260,17 @@ public interface NsdPackage extends EPackage { */ EReference getLNClasses_LNClass(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses#getNS() + * @see #getLNClasses() + * @generated + */ + EReference getLNClasses_NS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice <em>Notice</em>}'. * <!-- begin-user-doc --> @@ -5639,6 +6292,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getNotice_Mixed(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getCopyrightNotice <em>Copyright Notice</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Copyright Notice</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice#getCopyrightNotice() + * @see #getNotice() + * @generated + */ + EReference getNotice_CopyrightNotice(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS <em>NS</em>}'. * <!-- begin-user-doc --> @@ -5966,6 +6630,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getPresenceCondition_TitleID(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getPresenceConditions <em>Presence Conditions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Presence Conditions</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getPresenceConditions() + * @see #getPresenceCondition() + * @generated + */ + EReference getPresenceCondition_PresenceConditions(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions <em>Presence Conditions</em>}'. * <!-- begin-user-doc --> @@ -5987,6 +6662,28 @@ public interface NsdPackage extends EPackage { */ EReference getPresenceConditions_PresenceCondition(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getNS <em>NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getNS() + * @see #getPresenceConditions() + * @generated + */ + EReference getPresenceConditions_NS(); + + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getServiceNS() + * @see #getPresenceConditions() + * @generated + */ + EReference getPresenceConditions_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC <em>Service CDC</em>}'. * <!-- begin-user-doc --> @@ -6030,6 +6727,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getServiceCDC_Variant(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceCDCs <em>Service CD Cs</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service CD Cs</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceCDCs() + * @see #getServiceCDC() + * @generated + */ + EReference getServiceCDC_ServiceCDCs(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs <em>Service CD Cs</em>}'. * <!-- begin-user-doc --> @@ -6051,6 +6759,17 @@ public interface NsdPackage extends EPackage { */ EReference getServiceCDCs_ServiceCDC(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceNS() + * @see #getServiceCDCs() + * @generated + */ + EReference getServiceCDCs_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute <em>Service Constructed Attribute</em>}'. * <!-- begin-user-doc --> @@ -6072,6 +6791,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getServiceConstructedAttribute_TypeKindParameterized(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service Constructed Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#getServiceConstructedAttribute() + * @see #getServiceConstructedAttribute() + * @generated + */ + EReference getServiceConstructedAttribute_ServiceConstructedAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes <em>Service Constructed Attributes</em>}'. * <!-- begin-user-doc --> @@ -6093,6 +6823,17 @@ public interface NsdPackage extends EPackage { */ EReference getServiceConstructedAttributes_ServiceConstructedAttribute(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceNS() + * @see #getServiceConstructedAttributes() + * @generated + */ + EReference getServiceConstructedAttributes_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute <em>Service Data Attribute</em>}'. * <!-- begin-user-doc --> @@ -6202,6 +6943,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getServiceDataAttribute_UnderlyingTypeKind(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getServiceCDC <em>Service CDC</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service CDC</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getServiceCDC() + * @see #getServiceDataAttribute() + * @generated + */ + EReference getServiceDataAttribute_ServiceCDC(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> @@ -6409,6 +7161,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getServiceNsUsage_Revision(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getApplicableServiceNS <em>Applicable Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Applicable Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getApplicableServiceNS() + * @see #getServiceNsUsage() + * @generated + */ + EReference getServiceNsUsage_ApplicableServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter <em>Service Parameter</em>}'. * <!-- begin-user-doc --> @@ -6486,91 +7249,15 @@ public interface NsdPackage extends EPackage { EAttribute getServiceParameter_TypeKind(); /** - * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization <em>Service Type Realization</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for class '<em>Service Type Realization</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization - * @generated - */ - EClass getServiceTypeRealization(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getFc <em>Fc</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Fc</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getFc() - * @see #getServiceTypeRealization() - * @generated - */ - EAttribute getServiceTypeRealization_Fc(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getName <em>Name</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Name</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getName() - * @see #getServiceTypeRealization() - * @generated - */ - EAttribute getServiceTypeRealization_Name(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCond <em>Pres Cond</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Pres Cond</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCond() - * @see #getServiceTypeRealization() - * @generated - */ - EAttribute getServiceTypeRealization_PresCond(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgs <em>Pres Cond Args</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Pres Cond Args</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgs() - * @see #getServiceTypeRealization() - * @generated - */ - EAttribute getServiceTypeRealization_PresCondArgs(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgsID <em>Pres Cond Args ID</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Pres Cond Args ID</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgsID() - * @see #getServiceTypeRealization() - * @generated - */ - EAttribute getServiceTypeRealization_PresCondArgsID(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getType <em>Type</em>}'. + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getCDC <em>CDC</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Type</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getType() - * @see #getServiceTypeRealization() - * @generated - */ - EAttribute getServiceTypeRealization_Type(); - - /** - * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getTypeKind <em>Type Kind</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the attribute '<em>Type Kind</em>'. - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getTypeKind() - * @see #getServiceTypeRealization() + * @return the meta object for the container reference '<em>CDC</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getCDC() + * @see #getServiceParameter() * @generated */ - EAttribute getServiceTypeRealization_TypeKind(); + EReference getServiceParameter_CDC(); /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations <em>Service Type Realizations</em>}'. @@ -6593,6 +7280,17 @@ public interface NsdPackage extends EPackage { */ EReference getServiceTypeRealizations_ServiceTypeRealization(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceNS <em>Service NS</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Service NS</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceNS() + * @see #getServiceTypeRealizations() + * @generated + */ + EReference getServiceTypeRealizations_ServiceNS(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute <em>Sub Data Attribute</em>}'. * <!-- begin-user-doc --> @@ -6746,6 +7444,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getSubDataAttribute_TypeKind(); + /** + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getConstructedAttribute <em>Constructed Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Constructed Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getConstructedAttribute() + * @see #getSubDataAttribute() + * @generated + */ + EReference getSubDataAttribute_ConstructedAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject <em>Sub Data Object</em>}'. * <!-- begin-user-doc --> @@ -6878,7 +7587,18 @@ public interface NsdPackage extends EPackage { EAttribute getSubDataObject_UnderlyingTypeKind(); /** - * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TitledClass <em>Titled Class</em>}'. + * Returns the meta object for the container reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC <em>CDC</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>CDC</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC() + * @see #getSubDataObject() + * @generated + */ + EReference getSubDataObject_CDC(); + + /** + * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TitledClass <em>Titled Class</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @return the meta object for class '<em>Titled Class</em>'. @@ -7006,9 +7726,6 @@ public interface NsdPackage extends EPackage { * Returns the meta object for data type '{@link org.eclipse.emf.common.util.Enumerator <em>Attribute Type Kind</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type kind of a data attribute, which may be "undefined". - * <!-- end-model-doc --> * @return the meta object for data type '<em>Attribute Type Kind</em>'. * @see org.eclipse.emf.common.util.Enumerator * @model instanceClass="org.eclipse.emf.common.util.Enumerator" @@ -7135,14 +7852,22 @@ public interface NsdPackage extends EPackage { EAttribute APPLIES_TO_TYPE__REVISION = eINSTANCE.getAppliesToType_Revision(); /** - * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl <em>Depends On Type</em>}' class. + * The meta object literal for the '<em><b>Service Ns Usage</b></em>' container reference feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDependsOnType() * @generated */ - EClass DEPENDS_ON_TYPE = eINSTANCE.getDependsOnType(); + EReference APPLIES_TO_TYPE__SERVICE_NS_USAGE = eINSTANCE.getAppliesToType_ServiceNsUsage(); + + /** + * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl <em>Depends On</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getDependsOn() + * @generated + */ + EClass DEPENDS_ON = eINSTANCE.getDependsOn(); /** * The meta object literal for the '<em><b>Id</b></em>' attribute feature. @@ -7150,7 +7875,7 @@ public interface NsdPackage extends EPackage { * <!-- end-user-doc --> * @generated */ - EAttribute DEPENDS_ON_TYPE__ID = eINSTANCE.getDependsOnType_Id(); + EAttribute DEPENDS_ON__ID = eINSTANCE.getDependsOn_Id(); /** * The meta object literal for the '<em><b>Publication Stage</b></em>' attribute feature. @@ -7158,7 +7883,7 @@ public interface NsdPackage extends EPackage { * <!-- end-user-doc --> * @generated */ - EAttribute DEPENDS_ON_TYPE__PUBLICATION_STAGE = eINSTANCE.getDependsOnType_PublicationStage(); + EAttribute DEPENDS_ON__PUBLICATION_STAGE = eINSTANCE.getDependsOn_PublicationStage(); /** * The meta object literal for the '<em><b>Revision</b></em>' attribute feature. @@ -7166,7 +7891,15 @@ public interface NsdPackage extends EPackage { * <!-- end-user-doc --> * @generated */ - EAttribute DEPENDS_ON_TYPE__REVISION = eINSTANCE.getDependsOnType_Revision(); + EAttribute DEPENDS_ON__REVISION = eINSTANCE.getDependsOn_Revision(); + + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DEPENDS_ON__NS = eINSTANCE.getDependsOn_NS(); /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl <em>Document Root</em>}' class. @@ -7210,14 +7943,6 @@ public interface NsdPackage extends EPackage { */ EReference DOCUMENT_ROOT__APPLICABLE_SERVICE_NS = eINSTANCE.getDocumentRoot_ApplicableServiceNS(); - /** - * The meta object literal for the '<em><b>Copyright</b></em>' containment reference feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference DOCUMENT_ROOT__COPYRIGHT = eINSTANCE.getDocumentRoot_Copyright(); - /** * The meta object literal for the '<em><b>NS</b></em>' containment reference feature. * <!-- begin-user-doc --> @@ -7260,6 +7985,14 @@ public interface NsdPackage extends EPackage { */ EAttribute SERVICE_TYPE__NAME = eINSTANCE.getServiceType_Name(); + /** + * The meta object literal for the '<em><b>Applicable Services</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_TYPE__APPLICABLE_SERVICES = eINSTANCE.getServiceType_ApplicableServices(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationImpl <em>Abbreviation</em>}' class. * <!-- begin-user-doc --> @@ -7286,6 +8019,14 @@ public interface NsdPackage extends EPackage { */ EAttribute ABBREVIATION__NAME = eINSTANCE.getAbbreviation_Name(); + /** + * The meta object literal for the '<em><b>Abbreviations</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ABBREVIATION__ABBREVIATIONS = eINSTANCE.getAbbreviation_Abbreviations(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationsImpl <em>Abbreviations</em>}' class. * <!-- begin-user-doc --> @@ -7304,6 +8045,22 @@ public interface NsdPackage extends EPackage { */ EReference ABBREVIATIONS__ABBREVIATION = eINSTANCE.getAbbreviations_Abbreviation(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ABBREVIATIONS__NS = eINSTANCE.getAbbreviations_NS(); + + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ABBREVIATIONS__SERVICE_NS = eINSTANCE.getAbbreviations_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbstractLNClassImpl <em>Abstract LN Class</em>}' class. * <!-- begin-user-doc --> @@ -7322,6 +8079,14 @@ public interface NsdPackage extends EPackage { */ EAttribute ABSTRACT_LN_CLASS__NAME = eINSTANCE.getAbstractLNClass_Name(); + /** + * The meta object literal for the '<em><b>LN Classes</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ABSTRACT_LN_CLASS__LN_CLASSES = eINSTANCE.getAbstractLNClass_LNClasses(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AnyLNClassImpl <em>Any LN Class</em>}' class. * <!-- begin-user-doc --> @@ -7408,6 +8173,14 @@ public interface NsdPackage extends EPackage { */ EReference APPLICABLE_SERVICES__DATA_SET_MEMBER_OF = eINSTANCE.getApplicableServices_DataSetMemberOf(); + /** + * The meta object literal for the '<em><b>Functional Constraint</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT = eINSTANCE.getApplicableServices_FunctionalConstraint(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypeImpl <em>Basic Type</em>}' class. * <!-- begin-user-doc --> @@ -7434,6 +8207,14 @@ public interface NsdPackage extends EPackage { */ EAttribute BASIC_TYPE__NAME = eINSTANCE.getBasicType_Name(); + /** + * The meta object literal for the '<em><b>Basic Types</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference BASIC_TYPE__BASIC_TYPES = eINSTANCE.getBasicType_BasicTypes(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypesImpl <em>Basic Types</em>}' class. * <!-- begin-user-doc --> @@ -7452,6 +8233,14 @@ public interface NsdPackage extends EPackage { */ EReference BASIC_TYPES__BASIC_TYPE = eINSTANCE.getBasicTypes_BasicType(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference BASIC_TYPES__NS = eINSTANCE.getBasicTypes_NS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl <em>CDC</em>}' class. * <!-- begin-user-doc --> @@ -7526,6 +8315,14 @@ public interface NsdPackage extends EPackage { */ EAttribute CDC__VARIANT = eINSTANCE.getCDC_Variant(); + /** + * The meta object literal for the '<em><b>CD Cs</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CDC__CD_CS = eINSTANCE.getCDC_CDCs(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCsImpl <em>CD Cs</em>}' class. * <!-- begin-user-doc --> @@ -7544,6 +8341,14 @@ public interface NsdPackage extends EPackage { */ EReference CD_CS__CDC = eINSTANCE.getCDCs_CDC(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CD_CS__NS = eINSTANCE.getCDCs_NS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ChangesImpl <em>Changes</em>}' class. * <!-- begin-user-doc --> @@ -7586,6 +8391,22 @@ public interface NsdPackage extends EPackage { */ EAttribute CHANGES__TISSUES = eINSTANCE.getChanges_Tissues(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CHANGES__NS = eINSTANCE.getChanges_NS(); + + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CHANGES__SERVICE_NS = eINSTANCE.getChanges_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl <em>Constructed Attribute</em>}' class. * <!-- begin-user-doc --> @@ -7612,6 +8433,24 @@ public interface NsdPackage extends EPackage { */ EAttribute CONSTRUCTED_ATTRIBUTE__NAME = eINSTANCE.getConstructedAttribute_Name(); + /** + * The meta object literal for the '<em><b>Constructed Attributes</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES = eINSTANCE + .getConstructedAttribute_ConstructedAttributes(); + + /** + * The meta object literal for the '<em><b>Service Type Realizations</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS = eINSTANCE + .getConstructedAttribute_ServiceTypeRealizations(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributesImpl <em>Constructed Attributes</em>}' class. * <!-- begin-user-doc --> @@ -7631,6 +8470,14 @@ public interface NsdPackage extends EPackage { EReference CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE = eINSTANCE .getConstructedAttributes_ConstructedAttribute(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONSTRUCTED_ATTRIBUTES__NS = eINSTANCE.getConstructedAttributes_NS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CopyrightedImpl <em>Copyrighted</em>}' class. * <!-- begin-user-doc --> @@ -7675,6 +8522,14 @@ public interface NsdPackage extends EPackage { */ EReference COPYRIGHT_NOTICE__LICENSE = eINSTANCE.getCopyrightNotice_License(); + /** + * The meta object literal for the '<em><b>Copyrighted</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COPYRIGHT_NOTICE__COPYRIGHTED = eINSTANCE.getCopyrightNotice_Copyrighted(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl <em>Data Attribute</em>}' class. * <!-- begin-user-doc --> @@ -7821,6 +8676,14 @@ public interface NsdPackage extends EPackage { */ EAttribute DATA_ATTRIBUTE__TYPE_KIND = eINSTANCE.getDataAttribute_TypeKind(); + /** + * The meta object literal for the '<em><b>CDC</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__CDC = eINSTANCE.getDataAttribute_CDC(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl <em>Data Object</em>}' class. * <!-- begin-user-doc --> @@ -7919,6 +8782,14 @@ public interface NsdPackage extends EPackage { */ EAttribute DATA_OBJECT__UNDERLYING_TYPE_KIND = eINSTANCE.getDataObject_UnderlyingTypeKind(); + /** + * The meta object literal for the '<em><b>Any LN Class</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_OBJECT__ANY_LN_CLASS = eINSTANCE.getDataObject_AnyLNClass(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataSetMemberOfImpl <em>Data Set Member Of</em>}' class. * <!-- begin-user-doc --> @@ -7937,6 +8808,14 @@ public interface NsdPackage extends EPackage { */ EAttribute DATA_SET_MEMBER_OF__CB = eINSTANCE.getDataSetMemberOf_Cb(); + /** + * The meta object literal for the '<em><b>Applicable Services</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_SET_MEMBER_OF__APPLICABLE_SERVICES = eINSTANCE.getDataSetMemberOf_ApplicableServices(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocImpl <em>Doc</em>}' class. * <!-- begin-user-doc --> @@ -7979,6 +8858,14 @@ public interface NsdPackage extends EPackage { */ EAttribute DOC__ID = eINSTANCE.getDoc_Id(); + /** + * The meta object literal for the '<em><b>NS Doc</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DOC__NS_DOC = eINSTANCE.getDoc_NSDoc(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentedClassImpl <em>Documented Class</em>}' class. * <!-- begin-user-doc --> @@ -8047,6 +8934,14 @@ public interface NsdPackage extends EPackage { */ EAttribute ENUMERATION__NAME = eINSTANCE.getEnumeration_Name(); + /** + * The meta object literal for the '<em><b>Enumerations</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ENUMERATION__ENUMERATIONS = eINSTANCE.getEnumeration_Enumerations(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationsImpl <em>Enumerations</em>}' class. * <!-- begin-user-doc --> @@ -8065,6 +8960,14 @@ public interface NsdPackage extends EPackage { */ EReference ENUMERATIONS__ENUMERATION = eINSTANCE.getEnumerations_Enumeration(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ENUMERATIONS__NS = eINSTANCE.getEnumerations_NS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl <em>Functional Constraint</em>}' class. * <!-- begin-user-doc --> @@ -8107,6 +9010,15 @@ public interface NsdPackage extends EPackage { */ EAttribute FUNCTIONAL_CONSTRAINT__TITLE_ID = eINSTANCE.getFunctionalConstraint_TitleID(); + /** + * The meta object literal for the '<em><b>Functional Constraints</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS = eINSTANCE + .getFunctionalConstraint_FunctionalConstraints(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintsImpl <em>Functional Constraints</em>}' class. * <!-- begin-user-doc --> @@ -8126,6 +9038,22 @@ public interface NsdPackage extends EPackage { EReference FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT = eINSTANCE .getFunctionalConstraints_FunctionalConstraint(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTIONAL_CONSTRAINTS__NS = eINSTANCE.getFunctionalConstraints_NS(); + + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTIONAL_CONSTRAINTS__SERVICE_NS = eINSTANCE.getFunctionalConstraints_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LicenseImpl <em>License</em>}' class. * <!-- begin-user-doc --> @@ -8160,6 +9088,14 @@ public interface NsdPackage extends EPackage { */ EAttribute LICENSE__URI = eINSTANCE.getLicense_Uri(); + /** + * The meta object literal for the '<em><b>Copyright Notice</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LICENSE__COPYRIGHT_NOTICE = eINSTANCE.getLicense_CopyrightNotice(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LiteralImpl <em>Literal</em>}' class. * <!-- begin-user-doc --> @@ -8186,6 +9122,14 @@ public interface NsdPackage extends EPackage { */ EAttribute LITERAL__NAME = eINSTANCE.getLiteral_Name(); + /** + * The meta object literal for the '<em><b>Enumeration</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LITERAL__ENUMERATION = eINSTANCE.getLiteral_Enumeration(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassImpl <em>LN Class</em>}' class. * <!-- begin-user-doc --> @@ -8220,6 +9164,14 @@ public interface NsdPackage extends EPackage { */ EAttribute LN_CLASS__NAME = eINSTANCE.getLNClass_Name(); + /** + * The meta object literal for the '<em><b>LN Classes</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LN_CLASS__LN_CLASSES = eINSTANCE.getLNClass_LNClasses(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassesImpl <em>LN Classes</em>}' class. * <!-- begin-user-doc --> @@ -8246,6 +9198,14 @@ public interface NsdPackage extends EPackage { */ EReference LN_CLASSES__LN_CLASS = eINSTANCE.getLNClasses_LNClass(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LN_CLASSES__NS = eINSTANCE.getLNClasses_NS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NoticeImpl <em>Notice</em>}' class. * <!-- begin-user-doc --> @@ -8264,6 +9224,14 @@ public interface NsdPackage extends EPackage { */ EAttribute NOTICE__MIXED = eINSTANCE.getNotice_Mixed(); + /** + * The meta object literal for the '<em><b>Copyright Notice</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference NOTICE__COPYRIGHT_NOTICE = eINSTANCE.getNotice_CopyrightNotice(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSImpl <em>NS</em>}' class. * <!-- begin-user-doc --> @@ -8510,6 +9478,14 @@ public interface NsdPackage extends EPackage { */ EAttribute PRESENCE_CONDITION__TITLE_ID = eINSTANCE.getPresenceCondition_TitleID(); + /** + * The meta object literal for the '<em><b>Presence Conditions</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITION__PRESENCE_CONDITIONS = eINSTANCE.getPresenceCondition_PresenceConditions(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionsImpl <em>Presence Conditions</em>}' class. * <!-- begin-user-doc --> @@ -8528,6 +9504,22 @@ public interface NsdPackage extends EPackage { */ EReference PRESENCE_CONDITIONS__PRESENCE_CONDITION = eINSTANCE.getPresenceConditions_PresenceCondition(); + /** + * The meta object literal for the '<em><b>NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITIONS__NS = eINSTANCE.getPresenceConditions_NS(); + + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITIONS__SERVICE_NS = eINSTANCE.getPresenceConditions_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCImpl <em>Service CDC</em>}' class. * <!-- begin-user-doc --> @@ -8562,6 +9554,14 @@ public interface NsdPackage extends EPackage { */ EAttribute SERVICE_CDC__VARIANT = eINSTANCE.getServiceCDC_Variant(); + /** + * The meta object literal for the '<em><b>Service CD Cs</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_CDC__SERVICE_CD_CS = eINSTANCE.getServiceCDC_ServiceCDCs(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCsImpl <em>Service CD Cs</em>}' class. * <!-- begin-user-doc --> @@ -8580,6 +9580,14 @@ public interface NsdPackage extends EPackage { */ EReference SERVICE_CD_CS__SERVICE_CDC = eINSTANCE.getServiceCDCs_ServiceCDC(); + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_CD_CS__SERVICE_NS = eINSTANCE.getServiceCDCs_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceConstructedAttributeImpl <em>Service Constructed Attribute</em>}' class. * <!-- begin-user-doc --> @@ -8599,6 +9607,15 @@ public interface NsdPackage extends EPackage { EAttribute SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED = eINSTANCE .getServiceConstructedAttribute_TypeKindParameterized(); + /** + * The meta object literal for the '<em><b>Service Constructed Attribute</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE = eINSTANCE + .getServiceConstructedAttribute_ServiceConstructedAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceConstructedAttributesImpl <em>Service Constructed Attributes</em>}' class. * <!-- begin-user-doc --> @@ -8618,6 +9635,14 @@ public interface NsdPackage extends EPackage { EReference SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE = eINSTANCE .getServiceConstructedAttributes_ServiceConstructedAttribute(); + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS = eINSTANCE.getServiceConstructedAttributes_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceDataAttributeImpl <em>Service Data Attribute</em>}' class. * <!-- begin-user-doc --> @@ -8701,6 +9726,14 @@ public interface NsdPackage extends EPackage { EAttribute SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND = eINSTANCE .getServiceDataAttribute_UnderlyingTypeKind(); + /** + * The meta object literal for the '<em><b>Service CDC</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_DATA_ATTRIBUTE__SERVICE_CDC = eINSTANCE.getServiceDataAttribute_ServiceCDC(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceNSImpl <em>Service NS</em>}' class. * <!-- begin-user-doc --> @@ -8857,6 +9890,14 @@ public interface NsdPackage extends EPackage { */ EAttribute SERVICE_NS_USAGE__REVISION = eINSTANCE.getServiceNsUsage_Revision(); + /** + * The meta object literal for the '<em><b>Applicable Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS = eINSTANCE.getServiceNsUsage_ApplicableServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceParameterImpl <em>Service Parameter</em>}' class. * <!-- begin-user-doc --> @@ -8916,70 +9957,12 @@ public interface NsdPackage extends EPackage { EAttribute SERVICE_PARAMETER__TYPE_KIND = eINSTANCE.getServiceParameter_TypeKind(); /** - * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl <em>Service Type Realization</em>}' class. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdPackageImpl#getServiceTypeRealization() - * @generated - */ - EClass SERVICE_TYPE_REALIZATION = eINSTANCE.getServiceTypeRealization(); - - /** - * The meta object literal for the '<em><b>Fc</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute SERVICE_TYPE_REALIZATION__FC = eINSTANCE.getServiceTypeRealization_Fc(); - - /** - * The meta object literal for the '<em><b>Name</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute SERVICE_TYPE_REALIZATION__NAME = eINSTANCE.getServiceTypeRealization_Name(); - - /** - * The meta object literal for the '<em><b>Pres Cond</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute SERVICE_TYPE_REALIZATION__PRES_COND = eINSTANCE.getServiceTypeRealization_PresCond(); - - /** - * The meta object literal for the '<em><b>Pres Cond Args</b></em>' attribute feature. + * The meta object literal for the '<em><b>CDC</b></em>' container reference feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - EAttribute SERVICE_TYPE_REALIZATION__PRES_COND_ARGS = eINSTANCE.getServiceTypeRealization_PresCondArgs(); - - /** - * The meta object literal for the '<em><b>Pres Cond Args ID</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID = eINSTANCE.getServiceTypeRealization_PresCondArgsID(); - - /** - * The meta object literal for the '<em><b>Type</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute SERVICE_TYPE_REALIZATION__TYPE = eINSTANCE.getServiceTypeRealization_Type(); - - /** - * The meta object literal for the '<em><b>Type Kind</b></em>' attribute feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EAttribute SERVICE_TYPE_REALIZATION__TYPE_KIND = eINSTANCE.getServiceTypeRealization_TypeKind(); + EReference SERVICE_PARAMETER__CDC = eINSTANCE.getServiceParameter_CDC(); /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl <em>Service Type Realizations</em>}' class. @@ -9000,6 +9983,14 @@ public interface NsdPackage extends EPackage { EReference SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION = eINSTANCE .getServiceTypeRealizations_ServiceTypeRealization(); + /** + * The meta object literal for the '<em><b>Service NS</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SERVICE_TYPE_REALIZATIONS__SERVICE_NS = eINSTANCE.getServiceTypeRealizations_ServiceNS(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataAttributeImpl <em>Sub Data Attribute</em>}' class. * <!-- begin-user-doc --> @@ -9114,6 +10105,14 @@ public interface NsdPackage extends EPackage { */ EAttribute SUB_DATA_ATTRIBUTE__TYPE_KIND = eINSTANCE.getSubDataAttribute_TypeKind(); + /** + * The meta object literal for the '<em><b>Constructed Attribute</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE = eINSTANCE.getSubDataAttribute_ConstructedAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl <em>Sub Data Object</em>}' class. * <!-- begin-user-doc --> @@ -9212,6 +10211,14 @@ public interface NsdPackage extends EPackage { */ EAttribute SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND = eINSTANCE.getSubDataObject_UnderlyingTypeKind(); + /** + * The meta object literal for the '<em><b>CDC</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SUB_DATA_OBJECT__CDC = eINSTANCE.getSubDataObject_CDC(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TitledClassImpl <em>Titled Class</em>}' class. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceCondition.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceCondition.java index e68314e..92947f9 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceCondition.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceCondition.java @@ -26,10 +26,6 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Presence Condition</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a presence condition. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -38,6 +34,7 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getTitleID <em>Title ID</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getPresenceConditions <em>Presence Conditions</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition() @@ -49,13 +46,13 @@ public interface PresenceCondition extends EObject { * Returns the value of the '<em><b>Argument</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The presence condition argument, if any. - * <!-- end-model-doc --> * @return the value of the '<em>Argument</em>' attribute. + * @see #isSetArgument() + * @see #unsetArgument() * @see #setArgument(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_Argument() - * @model extendedMetaData="kind='attribute' name='argument'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='argument'" * @generated */ String getArgument(); @@ -65,22 +62,47 @@ public interface PresenceCondition extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Argument</em>' attribute. + * @see #isSetArgument() + * @see #unsetArgument() * @see #getArgument() * @generated */ void setArgument( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getArgument <em>Argument</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetArgument() + * @see #getArgument() + * @see #setArgument(String) + * @generated + */ + void unsetArgument(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getArgument <em>Argument</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Argument</em>' attribute is set. + * @see #unsetArgument() + * @see #getArgument() + * @see #setArgument(String) + * @generated + */ + boolean isSetArgument(); + /** * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -90,22 +112,46 @@ public interface PresenceCondition extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the presence condition, as used in IEC 61850 data models. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -116,22 +162,47 @@ public interface PresenceCondition extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Title ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to the title (alias) of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Title ID</em>' attribute. + * @see #isSetTitleID() + * @see #unsetTitleID() * @see #setTitleID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_TitleID() - * @model extendedMetaData="kind='attribute' name='titleID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='titleID'" * @generated */ String getTitleID(); @@ -141,9 +212,62 @@ public interface PresenceCondition extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Title ID</em>' attribute. + * @see #isSetTitleID() + * @see #unsetTitleID() * @see #getTitleID() * @generated */ void setTitleID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getTitleID <em>Title ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetTitleID() + * @see #getTitleID() + * @see #setTitleID(String) + * @generated + */ + void unsetTitleID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getTitleID <em>Title ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Title ID</em>' attribute is set. + * @see #unsetTitleID() + * @see #getTitleID() + * @see #setTitleID(String) + * @generated + */ + boolean isSetTitleID(); + + /** + * Returns the value of the '<em><b>Presence Conditions</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getPresenceCondition <em>Presence Condition</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Presence Conditions</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>Presence Conditions</em>' container reference. + * @see #setPresenceConditions(PresenceConditions) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_PresenceConditions() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getPresenceCondition + * @model opposite="presenceCondition" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + PresenceConditions getPresenceConditions(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getPresenceConditions <em>Presence Conditions</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Presence Conditions</em>' container reference. + * @see #getPresenceConditions() + * @generated + */ + void setPresenceConditions( PresenceConditions value ); + } // PresenceCondition diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceConditions.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceConditions.java index 79647cc..9a903c3 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceConditions.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceConditions.java @@ -28,15 +28,13 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Presence Conditions</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of presence conditions which are introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getPresenceCondition <em>Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceConditions() @@ -47,17 +45,95 @@ public interface PresenceConditions extends EObject { /** * Returns the value of the '<em><b>Presence Condition</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getPresenceConditions <em>Presence Conditions</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Definition of a presence condition. - * <!-- end-model-doc --> * @return the value of the '<em>Presence Condition</em>' containment reference list. + * @see #isSetPresenceCondition() + * @see #unsetPresenceCondition() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceConditions_PresenceCondition() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getPresenceConditions + * @model opposite="presenceConditions" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='PresenceCondition' namespace='##targetNamespace'" * @generated */ EList< PresenceCondition > getPresenceCondition(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getPresenceCondition <em>Presence Condition</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresenceCondition() + * @see #getPresenceCondition() + * @generated + */ + void unsetPresenceCondition(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getPresenceCondition <em>Presence Condition</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Presence Condition</em>' containment reference list is set. + * @see #unsetPresenceCondition() + * @see #getPresenceCondition() + * @generated + */ + boolean isSetPresenceCondition(); + + /** + * Returns the value of the '<em><b>NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getPresenceConditions <em>Presence Conditions</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>NS</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>NS</em>' container reference. + * @see #setNS(NS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceConditions_NS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#getPresenceConditions + * @model opposite="presenceConditions" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + NS getNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getNS <em>NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>NS</em>' container reference. + * @see #getNS() + * @generated + */ + void setNS( NS value ); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getPresenceConditions <em>Presence Conditions</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceConditions_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getPresenceConditions + * @model opposite="presenceConditions" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // PresenceConditions diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PubStage.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PubStage.java index 2ae2421..aba2cf3 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PubStage.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PubStage.java @@ -30,9 +30,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the literals of the enumeration '<em><b>Pub Stage</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Publication stage of the namespace. - * <!-- end-model-doc --> * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPubStage() * @model extendedMetaData="name='tPubStage'" * @generated diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDC.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDC.java index c65172f..5c15ecc 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDC.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDC.java @@ -28,10 +28,6 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Service CDC</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a CDC extension for control services. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -39,6 +35,7 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceDataAttribute <em>Service Data Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getCdc <em>Cdc</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getVariant <em>Variant</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceCDCs <em>Service CD Cs</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDC() @@ -49,30 +46,51 @@ public interface ServiceCDC extends EObject { /** * Returns the value of the '<em><b>Service Data Attribute</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getServiceCDC <em>Service CDC</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Data attribute to be used as service parameter. - * <!-- end-model-doc --> * @return the value of the '<em>Service Data Attribute</em>' containment reference list. + * @see #isSetServiceDataAttribute() + * @see #unsetServiceDataAttribute() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDC_ServiceDataAttribute() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getServiceCDC + * @model opposite="serviceCDC" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceDataAttribute' namespace='##targetNamespace'" * @generated */ EList< ServiceDataAttribute > getServiceDataAttribute(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceDataAttribute <em>Service Data Attribute</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceDataAttribute() + * @see #getServiceDataAttribute() + * @generated + */ + void unsetServiceDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceDataAttribute <em>Service Data Attribute</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Data Attribute</em>' containment reference list is set. + * @see #unsetServiceDataAttribute() + * @see #getServiceDataAttribute() + * @generated + */ + boolean isSetServiceDataAttribute(); + /** * Returns the value of the '<em><b>Cdc</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the common data class the service extension is for. - * <!-- end-model-doc --> * @return the value of the '<em>Cdc</em>' attribute. + * @see #isSetCdc() + * @see #unsetCdc() * @see #setCdc(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDC_Cdc() - * @model required="true" + * @model unsettable="true" required="true" * extendedMetaData="kind='attribute' name='cdc'" * @generated */ @@ -83,22 +101,46 @@ public interface ServiceCDC extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Cdc</em>' attribute. + * @see #isSetCdc() + * @see #unsetCdc() * @see #getCdc() * @generated */ void setCdc( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getCdc <em>Cdc</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetCdc() + * @see #getCdc() + * @see #setCdc(String) + * @generated + */ + void unsetCdc(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getCdc <em>Cdc</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Cdc</em>' attribute is set. + * @see #unsetCdc() + * @see #getCdc() + * @see #setCdc(String) + * @generated + */ + boolean isSetCdc(); + /** * Returns the value of the '<em><b>Variant</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identification of the variant of the CDC (e.g., SPG_SP). - * <!-- end-model-doc --> * @return the value of the '<em>Variant</em>' attribute. + * @see #isSetVariant() + * @see #unsetVariant() * @see #setVariant(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDC_Variant() - * @model dataType="org.eclipse.emf.ecore.xml.type.Token" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Token" * extendedMetaData="kind='attribute' name='variant'" * @generated */ @@ -109,9 +151,62 @@ public interface ServiceCDC extends EObject { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Variant</em>' attribute. + * @see #isSetVariant() + * @see #unsetVariant() * @see #getVariant() * @generated */ void setVariant( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getVariant <em>Variant</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetVariant() + * @see #getVariant() + * @see #setVariant(String) + * @generated + */ + void unsetVariant(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getVariant <em>Variant</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Variant</em>' attribute is set. + * @see #unsetVariant() + * @see #getVariant() + * @see #setVariant(String) + * @generated + */ + boolean isSetVariant(); + + /** + * Returns the value of the '<em><b>Service CD Cs</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceCDC <em>Service CDC</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service CD Cs</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>Service CD Cs</em>' container reference. + * @see #setServiceCDCs(ServiceCDCs) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDC_ServiceCDCs() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceCDC + * @model opposite="serviceCDC" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceCDCs getServiceCDCs(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceCDCs <em>Service CD Cs</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service CD Cs</em>' container reference. + * @see #getServiceCDCs() + * @generated + */ + void setServiceCDCs( ServiceCDCs value ); + } // ServiceCDC diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDCs.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDCs.java index 5852c6b..eabf98f 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDCs.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceCDCs.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Service CD Cs</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of Service CDCs introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceCDC <em>Service CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDCs() @@ -47,17 +44,67 @@ public interface ServiceCDCs extends EObject { /** * Returns the value of the '<em><b>Service CDC</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceCDCs <em>Service CD Cs</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * CDC extensions for control in this service namespace. - * <!-- end-model-doc --> * @return the value of the '<em>Service CDC</em>' containment reference list. + * @see #isSetServiceCDC() + * @see #unsetServiceCDC() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDCs_ServiceCDC() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceCDCs + * @model opposite="serviceCDCs" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceCDC' namespace='##targetNamespace'" * @generated */ EList< ServiceCDC > getServiceCDC(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceCDC <em>Service CDC</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceCDC() + * @see #getServiceCDC() + * @generated + */ + void unsetServiceCDC(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceCDC <em>Service CDC</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service CDC</em>' containment reference list is set. + * @see #unsetServiceCDC() + * @see #getServiceCDC() + * @generated + */ + boolean isSetServiceCDC(); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceCDCs <em>Service CD Cs</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceCDCs_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceCDCs + * @model opposite="serviceCDCs" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // ServiceCDCs diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttribute.java index 3dc1987..7a14aed 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttribute.java @@ -24,15 +24,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>Service Constructed Attribute</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a constructed attribute type for services. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#isTypeKindParameterized <em>Type Kind Parameterized</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceConstructedAttribute() @@ -45,9 +42,6 @@ public interface ServiceConstructedAttribute extends ConstructedAttribute { * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether this ServiceConstructedAttribute has at least one child data attribute with typeKind "undefined". - * <!-- end-model-doc --> * @return the value of the '<em>Type Kind Parameterized</em>' attribute. * @see #isSetTypeKindParameterized() * @see #unsetTypeKindParameterized() @@ -94,4 +88,32 @@ public interface ServiceConstructedAttribute extends ConstructedAttribute { */ boolean isSetTypeKindParameterized(); + /** + * Returns the value of the '<em><b>Service Constructed Attribute</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service Constructed Attribute</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>Service Constructed Attribute</em>' container reference. + * @see #setServiceConstructedAttribute(ServiceConstructedAttributes) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceConstructedAttribute_ServiceConstructedAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceConstructedAttribute + * @model opposite="serviceConstructedAttribute" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceConstructedAttributes getServiceConstructedAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service Constructed Attribute</em>' container reference. + * @see #getServiceConstructedAttribute() + * @generated + */ + void setServiceConstructedAttribute( ServiceConstructedAttributes value ); + } // ServiceConstructedAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttributes.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttributes.java index 4ee087e..42d4bc2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttributes.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceConstructedAttributes.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Service Constructed Attributes</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of Service Constructed Attributes introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceConstructedAttributes() @@ -47,17 +44,67 @@ public interface ServiceConstructedAttributes extends EObject { /** * Returns the value of the '<em><b>Service Constructed Attribute</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Realization of Part 7-2 abstract types or constructed attributes needed for control services. Note: in SCL instance files, the ProtNs element shall be specified for these. - * <!-- end-model-doc --> * @return the value of the '<em>Service Constructed Attribute</em>' containment reference list. + * @see #isSetServiceConstructedAttribute() + * @see #unsetServiceConstructedAttribute() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceConstructedAttributes_ServiceConstructedAttribute() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute#getServiceConstructedAttribute + * @model opposite="serviceConstructedAttribute" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceConstructedAttribute' namespace='##targetNamespace'" * @generated */ EList< ServiceConstructedAttribute > getServiceConstructedAttribute(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceConstructedAttribute() + * @see #getServiceConstructedAttribute() + * @generated + */ + void unsetServiceConstructedAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Constructed Attribute</em>' containment reference list is set. + * @see #unsetServiceConstructedAttribute() + * @see #getServiceConstructedAttribute() + * @generated + */ + boolean isSetServiceConstructedAttribute(); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceConstructedAttributes <em>Service Constructed Attributes</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceConstructedAttributes_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceConstructedAttributes + * @model opposite="serviceConstructedAttributes" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // ServiceConstructedAttributes diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceDataAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceDataAttribute.java index 5f14544..a6f8821 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceDataAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceDataAttribute.java @@ -26,10 +26,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the model object '<em><b>Service Data Attribute</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a service parameter as Data Attribute. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -43,6 +39,7 @@ import org.eclipse.emf.common.util.Enumerator; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getTypeKind <em>Type Kind</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getUnderlyingType <em>Underlying Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getUnderlyingTypeKind <em>Underlying Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getServiceCDC <em>Service CDC</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute() @@ -54,13 +51,12 @@ public interface ServiceDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Fc</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Functional constraint of the data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Fc</em>' attribute. + * @see #isSetFc() + * @see #unsetFc() * @see #setFc(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_Fc() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='fc'" * @generated */ @@ -71,22 +67,46 @@ public interface ServiceDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Fc</em>' attribute. + * @see #isSetFc() + * @see #unsetFc() * @see #getFc() * @generated */ void setFc( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getFc <em>Fc</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetFc() + * @see #getFc() + * @see #setFc(String) + * @generated + */ + void unsetFc(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getFc <em>Fc</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Fc</em>' attribute is set. + * @see #unsetFc() + * @see #getFc() + * @see #setFc(String) + * @generated + */ + boolean isSetFc(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -97,19 +117,41 @@ public interface ServiceDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Pres Cond</b></em>' attribute. * The default value is <code>"M"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond</em>' attribute. * @see #isSetPresCond() * @see #unsetPresCond() @@ -160,13 +202,13 @@ public interface ServiceDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Pres Cond Args</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #setPresCondArgs(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_PresCondArgs() - * @model extendedMetaData="kind='attribute' name='presCondArgs'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgs'" * @generated */ String getPresCondArgs(); @@ -176,22 +218,47 @@ public interface ServiceDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #getPresCondArgs() * @generated */ void setPresCondArgs( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getPresCondArgs <em>Pres Cond Args</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + void unsetPresCondArgs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getPresCondArgs <em>Pres Cond Args</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args</em>' attribute is set. + * @see #unsetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + boolean isSetPresCondArgs(); + /** * Returns the value of the '<em><b>Pres Cond Args ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #setPresCondArgsID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_PresCondArgsID() - * @model extendedMetaData="kind='attribute' name='presCondArgsID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgsID'" * @generated */ String getPresCondArgsID(); @@ -201,22 +268,47 @@ public interface ServiceDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #getPresCondArgsID() * @generated */ void setPresCondArgsID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + void unsetPresCondArgsID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args ID</em>' attribute is set. + * @see #unsetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + boolean isSetPresCondArgsID(); + /** * Returns the value of the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element. - * <!-- end-model-doc --> * @return the value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #setType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_Type() - * @model extendedMetaData="kind='attribute' name='type'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='type'" * @generated */ String getType(); @@ -226,19 +318,41 @@ public interface ServiceDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #getType() * @generated */ void setType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + void unsetType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getType <em>Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Type</em>' attribute is set. + * @see #unsetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + boolean isSetType(); + /** * Returns the value of the '<em><b>Type Kind</b></em>' attribute. * The default value is <code>"BASIC"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The kind of the data attribute's type. By default, "BASIC". - * <!-- end-model-doc --> * @return the value of the '<em>Type Kind</em>' attribute. * @see #isSetTypeKind() * @see #unsetTypeKind() @@ -289,13 +403,13 @@ public interface ServiceDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Underlying Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type to be used for type-open CDCs, e.g., enumeration to be used for enumeration-based CDCs (e.g., ENS, ENC, ENG). - * <!-- end-model-doc --> * @return the value of the '<em>Underlying Type</em>' attribute. + * @see #isSetUnderlyingType() + * @see #unsetUnderlyingType() * @see #setUnderlyingType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_UnderlyingType() - * @model extendedMetaData="kind='attribute' name='underlyingType'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='underlyingType'" * @generated */ String getUnderlyingType(); @@ -305,19 +419,41 @@ public interface ServiceDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Underlying Type</em>' attribute. + * @see #isSetUnderlyingType() + * @see #unsetUnderlyingType() * @see #getUnderlyingType() * @generated */ void setUnderlyingType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getUnderlyingType <em>Underlying Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUnderlyingType() + * @see #getUnderlyingType() + * @see #setUnderlyingType(String) + * @generated + */ + void unsetUnderlyingType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getUnderlyingType <em>Underlying Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Underlying Type</em>' attribute is set. + * @see #unsetUnderlyingType() + * @see #getUnderlyingType() + * @see #setUnderlyingType(String) + * @generated + */ + boolean isSetUnderlyingType(); + /** * Returns the value of the '<em><b>Underlying Type Kind</b></em>' attribute. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The typeKind to be used for all "undefined" attributes of the CDC of this DataObject. - * <!-- end-model-doc --> * @return the value of the '<em>Underlying Type Kind</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind * @see #isSetUnderlyingTypeKind() @@ -366,4 +502,32 @@ public interface ServiceDataAttribute extends DocumentedClass { */ boolean isSetUnderlyingTypeKind(); + /** + * Returns the value of the '<em><b>Service CDC</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceDataAttribute <em>Service Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service CDC</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>Service CDC</em>' container reference. + * @see #setServiceCDC(ServiceCDC) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceDataAttribute_ServiceCDC() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC#getServiceDataAttribute + * @model opposite="serviceDataAttribute" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceCDC getServiceCDC(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute#getServiceCDC <em>Service CDC</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service CDC</em>' container reference. + * @see #getServiceCDC() + * @generated + */ + void setServiceCDC( ServiceCDC value ); + } // ServiceDataAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java index b2515ef..68d03ce 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNS.java @@ -26,10 +26,6 @@ import javax.xml.datatype.XMLGregorianCalendar; * A representation of the model object '<em><b>Service NS</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a service namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -56,15 +52,16 @@ import javax.xml.datatype.XMLGregorianCalendar; public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { /** * Returns the value of the '<em><b>Changes</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The version/revision/release this namespace is based on, including the TISSUEs implemented in this release. - * <!-- end-model-doc --> * @return the value of the '<em>Changes</em>' containment reference. + * @see #isSetChanges() + * @see #unsetChanges() * @see #setChanges(Changes) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_Changes() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Changes' namespace='##targetNamespace'" * @generated */ @@ -75,22 +72,48 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Changes</em>' containment reference. + * @see #isSetChanges() + * @see #unsetChanges() * @see #getChanges() * @generated */ void setChanges( Changes value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getChanges <em>Changes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetChanges() + * @see #getChanges() + * @see #setChanges(Changes) + * @generated + */ + void unsetChanges(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getChanges <em>Changes</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Changes</em>' containment reference is set. + * @see #unsetChanges() + * @see #getChanges() + * @see #setChanges(Changes) + * @generated + */ + boolean isSetChanges(); + /** * Returns the value of the '<em><b>Functional Constraints</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of Functional Constraints added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Functional Constraints</em>' containment reference. + * @see #isSetFunctionalConstraints() + * @see #unsetFunctionalConstraints() * @see #setFunctionalConstraints(FunctionalConstraints) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_FunctionalConstraints() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='FunctionalConstraints' namespace='##targetNamespace'" * @generated */ @@ -101,22 +124,48 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Functional Constraints</em>' containment reference. + * @see #isSetFunctionalConstraints() + * @see #unsetFunctionalConstraints() * @see #getFunctionalConstraints() * @generated */ void setFunctionalConstraints( FunctionalConstraints value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getFunctionalConstraints <em>Functional Constraints</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetFunctionalConstraints() + * @see #getFunctionalConstraints() + * @see #setFunctionalConstraints(FunctionalConstraints) + * @generated + */ + void unsetFunctionalConstraints(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getFunctionalConstraints <em>Functional Constraints</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Functional Constraints</em>' containment reference is set. + * @see #unsetFunctionalConstraints() + * @see #getFunctionalConstraints() + * @see #setFunctionalConstraints(FunctionalConstraints) + * @generated + */ + boolean isSetFunctionalConstraints(); + /** * Returns the value of the '<em><b>Presence Conditions</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of presence conditions added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Presence Conditions</em>' containment reference. + * @see #isSetPresenceConditions() + * @see #unsetPresenceConditions() * @see #setPresenceConditions(PresenceConditions) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_PresenceConditions() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='PresenceConditions' namespace='##targetNamespace'" * @generated */ @@ -127,22 +176,48 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Presence Conditions</em>' containment reference. + * @see #isSetPresenceConditions() + * @see #unsetPresenceConditions() * @see #getPresenceConditions() * @generated */ void setPresenceConditions( PresenceConditions value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getPresenceConditions <em>Presence Conditions</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresenceConditions() + * @see #getPresenceConditions() + * @see #setPresenceConditions(PresenceConditions) + * @generated + */ + void unsetPresenceConditions(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getPresenceConditions <em>Presence Conditions</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Presence Conditions</em>' containment reference is set. + * @see #unsetPresenceConditions() + * @see #getPresenceConditions() + * @see #setPresenceConditions(PresenceConditions) + * @generated + */ + boolean isSetPresenceConditions(); + /** * Returns the value of the '<em><b>Abbreviations</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of abbreviations added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Abbreviations</em>' containment reference. + * @see #isSetAbbreviations() + * @see #unsetAbbreviations() * @see #setAbbreviations(Abbreviations) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_Abbreviations() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='Abbreviations' namespace='##targetNamespace'" * @generated */ @@ -153,22 +228,48 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Abbreviations</em>' containment reference. + * @see #isSetAbbreviations() + * @see #unsetAbbreviations() * @see #getAbbreviations() * @generated */ void setAbbreviations( Abbreviations value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getAbbreviations <em>Abbreviations</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetAbbreviations() + * @see #getAbbreviations() + * @see #setAbbreviations(Abbreviations) + * @generated + */ + void unsetAbbreviations(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getAbbreviations <em>Abbreviations</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Abbreviations</em>' containment reference is set. + * @see #unsetAbbreviations() + * @see #getAbbreviations() + * @see #setAbbreviations(Abbreviations) + * @generated + */ + boolean isSetAbbreviations(); + /** * Returns the value of the '<em><b>Service Type Realizations</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of service type realization added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Service Type Realizations</em>' containment reference. + * @see #isSetServiceTypeRealizations() + * @see #unsetServiceTypeRealizations() * @see #setServiceTypeRealizations(ServiceTypeRealizations) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_ServiceTypeRealizations() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceTypeRealizations' namespace='##targetNamespace'" * @generated */ @@ -179,22 +280,48 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Service Type Realizations</em>' containment reference. + * @see #isSetServiceTypeRealizations() + * @see #unsetServiceTypeRealizations() * @see #getServiceTypeRealizations() * @generated */ void setServiceTypeRealizations( ServiceTypeRealizations value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceTypeRealizations <em>Service Type Realizations</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceTypeRealizations() + * @see #getServiceTypeRealizations() + * @see #setServiceTypeRealizations(ServiceTypeRealizations) + * @generated + */ + void unsetServiceTypeRealizations(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceTypeRealizations <em>Service Type Realizations</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Type Realizations</em>' containment reference is set. + * @see #unsetServiceTypeRealizations() + * @see #getServiceTypeRealizations() + * @see #setServiceTypeRealizations(ServiceTypeRealizations) + * @generated + */ + boolean isSetServiceTypeRealizations(); + /** * Returns the value of the '<em><b>Service Constructed Attributes</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of service constructed attributes added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Service Constructed Attributes</em>' containment reference. + * @see #isSetServiceConstructedAttributes() + * @see #unsetServiceConstructedAttributes() * @see #setServiceConstructedAttributes(ServiceConstructedAttributes) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_ServiceConstructedAttributes() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceConstructedAttributes' namespace='##targetNamespace'" * @generated */ @@ -205,22 +332,48 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Service Constructed Attributes</em>' containment reference. + * @see #isSetServiceConstructedAttributes() + * @see #unsetServiceConstructedAttributes() * @see #getServiceConstructedAttributes() * @generated */ void setServiceConstructedAttributes( ServiceConstructedAttributes value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceConstructedAttributes <em>Service Constructed Attributes</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceConstructedAttributes() + * @see #getServiceConstructedAttributes() + * @see #setServiceConstructedAttributes(ServiceConstructedAttributes) + * @generated + */ + void unsetServiceConstructedAttributes(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceConstructedAttributes <em>Service Constructed Attributes</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Constructed Attributes</em>' containment reference is set. + * @see #unsetServiceConstructedAttributes() + * @see #getServiceConstructedAttributes() + * @see #setServiceConstructedAttributes(ServiceConstructedAttributes) + * @generated + */ + boolean isSetServiceConstructedAttributes(); + /** * Returns the value of the '<em><b>Service CD Cs</b></em>' containment reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceNS <em>Service NS</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * List of service CDCs added by this namespace. Is cumulative to those defined in namespaces this one needs (may not redefine "included" ones.). - * <!-- end-model-doc --> * @return the value of the '<em>Service CD Cs</em>' containment reference. + * @see #isSetServiceCDCs() + * @see #unsetServiceCDCs() * @see #setServiceCDCs(ServiceCDCs) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_ServiceCDCs() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs#getServiceNS + * @model opposite="serviceNS" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceCDCs' namespace='##targetNamespace'" * @generated */ @@ -231,22 +384,47 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Service CD Cs</em>' containment reference. + * @see #isSetServiceCDCs() + * @see #unsetServiceCDCs() * @see #getServiceCDCs() * @generated */ void setServiceCDCs( ServiceCDCs value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceCDCs <em>Service CD Cs</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceCDCs() + * @see #getServiceCDCs() + * @see #setServiceCDCs(ServiceCDCs) + * @generated + */ + void unsetServiceCDCs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceCDCs <em>Service CD Cs</em>}' containment reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service CD Cs</em>' containment reference is set. + * @see #unsetServiceCDCs() + * @see #getServiceCDCs() + * @see #setServiceCDCs(ServiceCDCs) + * @generated + */ + boolean isSetServiceCDCs(); + /** * Returns the value of the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to a full description of this NS. - * <!-- end-model-doc --> * @return the value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #setDescID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_DescID() - * @model extendedMetaData="kind='attribute' name='descID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='descID'" * @generated */ String getDescID(); @@ -256,22 +434,46 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Desc ID</em>' attribute. + * @see #isSetDescID() + * @see #unsetDescID() * @see #getDescID() * @generated */ void setDescID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getDescID <em>Desc ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + void unsetDescID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getDescID <em>Desc ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Desc ID</em>' attribute is set. + * @see #unsetDescID() + * @see #getDescID() + * @see #setDescID(String) + * @generated + */ + boolean isSetDescID(); + /** * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4". - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_Id() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ @@ -282,20 +484,42 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + /** * Returns the value of the '<em><b>Publication Stage</b></em>' attribute. * The default value is <code>"IS"</code>. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The publication stage of the namespace, by default IS. - * <!-- end-model-doc --> * @return the value of the '<em>Publication Stage</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage * @see #isSetPublicationStage() @@ -349,9 +573,6 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * The default value is <code>"A"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace version, by default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() @@ -402,14 +623,12 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * Returns the value of the '<em><b>Uml Date</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * UTC Date and time of the UML version from which this namespace definition file was generated. Shall be provided if umlVersion is present. Format: YYYY-MM-DDThh:mm:ssZ, where: YYYY indicates the year, MM indicates the month, DD indicates the day, T indicates the start of the required time section, hh indicates the hour, mm indicates the minute, ss indicates the second, and Z the UTC time stamp indication. - * - * <!-- end-model-doc --> * @return the value of the '<em>Uml Date</em>' attribute. + * @see #isSetUmlDate() + * @see #unsetUmlDate() * @see #setUmlDate(XMLGregorianCalendar) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_UmlDate() - * @model dataType="org.eclipse.emf.ecore.xml.type.DateTime" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.DateTime" * extendedMetaData="kind='attribute' name='umlDate'" * @generated */ @@ -420,22 +639,47 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uml Date</em>' attribute. + * @see #isSetUmlDate() + * @see #unsetUmlDate() * @see #getUmlDate() * @generated */ void setUmlDate( XMLGregorianCalendar value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getUmlDate <em>Uml Date</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUmlDate() + * @see #getUmlDate() + * @see #setUmlDate(XMLGregorianCalendar) + * @generated + */ + void unsetUmlDate(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getUmlDate <em>Uml Date</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uml Date</em>' attribute is set. + * @see #unsetUmlDate() + * @see #getUmlDate() + * @see #setUmlDate(XMLGregorianCalendar) + * @generated + */ + boolean isSetUmlDate(); + /** * Returns the value of the '<em><b>Uml Version</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Version of UML from which this namespace definition file was generated from. - * <!-- end-model-doc --> * @return the value of the '<em>Uml Version</em>' attribute. + * @see #isSetUmlVersion() + * @see #unsetUmlVersion() * @see #setUmlVersion(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNS_UmlVersion() - * @model extendedMetaData="kind='attribute' name='umlVersion'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='umlVersion'" * @generated */ String getUmlVersion(); @@ -445,9 +689,34 @@ public interface ServiceNS extends Copyrighted, NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Uml Version</em>' attribute. + * @see #isSetUmlVersion() + * @see #unsetUmlVersion() * @see #getUmlVersion() * @generated */ void setUmlVersion( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getUmlVersion <em>Uml Version</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUmlVersion() + * @see #getUmlVersion() + * @see #setUmlVersion(String) + * @generated + */ + void unsetUmlVersion(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getUmlVersion <em>Uml Version</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Uml Version</em>' attribute is set. + * @see #unsetUmlVersion() + * @see #getUmlVersion() + * @see #setUmlVersion(String) + * @generated + */ + boolean isSetUmlVersion(); + } // ServiceNS diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java index 82b543b..1903552 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceNsUsage.java @@ -26,10 +26,6 @@ import org.eclipse.emf.common.util.EList; * A representation of the model object '<em><b>Service Ns Usage</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Describes the list of (domain) NS for which a ServiceNS is applicable. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -38,6 +34,7 @@ import org.eclipse.emf.common.util.EList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getId <em>Id</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getPublicationStage <em>Publication Stage</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getApplicableServiceNS <em>Applicable Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNsUsage() @@ -48,30 +45,51 @@ public interface ServiceNsUsage extends NSDObjectWithVersionAndRelease { /** * Returns the value of the '<em><b>Applies To</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getServiceNsUsage <em>Service Ns Usage</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * References to namespaces this ServiceNS can be used with. - * <!-- end-model-doc --> * @return the value of the '<em>Applies To</em>' containment reference list. + * @see #isSetAppliesTo() + * @see #unsetAppliesTo() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNsUsage_AppliesTo() - * @model containment="true" required="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType#getServiceNsUsage + * @model opposite="serviceNsUsage" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='AppliesTo' namespace='##targetNamespace'" * @generated */ EList< AppliesToType > getAppliesTo(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getAppliesTo <em>Applies To</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetAppliesTo() + * @see #getAppliesTo() + * @generated + */ + void unsetAppliesTo(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getAppliesTo <em>Applies To</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Applies To</em>' containment reference list is set. + * @see #unsetAppliesTo() + * @see #getAppliesTo() + * @generated + */ + boolean isSetAppliesTo(); + /** * Returns the value of the '<em><b>Id</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Identifier of the namespace, e.g., "IEC 61850-7-4", "(Tr)IEC 61850-90-4". - * <!-- end-model-doc --> * @return the value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #setId(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNsUsage_Id() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='id'" * @generated */ @@ -82,20 +100,42 @@ public interface ServiceNsUsage extends NSDObjectWithVersionAndRelease { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Id</em>' attribute. + * @see #isSetId() + * @see #unsetId() * @see #getId() * @generated */ void setId( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getId <em>Id</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + void unsetId(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getId <em>Id</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Id</em>' attribute is set. + * @see #unsetId() + * @see #getId() + * @see #setId(String) + * @generated + */ + boolean isSetId(); + /** * Returns the value of the '<em><b>Publication Stage</b></em>' attribute. * The default value is <code>"IS"</code>. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The publication stage of the namespace, by default IS. - * <!-- end-model-doc --> * @return the value of the '<em>Publication Stage</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage * @see #isSetPublicationStage() @@ -149,9 +189,6 @@ public interface ServiceNsUsage extends NSDObjectWithVersionAndRelease { * The default value is <code>"A"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Revision of the namespace version, by default 'A'. - * <!-- end-model-doc --> * @return the value of the '<em>Revision</em>' attribute. * @see #isSetRevision() * @see #unsetRevision() @@ -198,4 +235,32 @@ public interface ServiceNsUsage extends NSDObjectWithVersionAndRelease { */ boolean isSetRevision(); + /** + * Returns the value of the '<em><b>Applicable Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS#getServiceNsUsage <em>Service Ns Usage</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Applicable Service NS</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>Applicable Service NS</em>' container reference. + * @see #setApplicableServiceNS(ApplicableServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceNsUsage_ApplicableServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS#getServiceNsUsage + * @model opposite="serviceNsUsage" unsettable="true" ordered="false" + * @generated + */ + ApplicableServiceNS getApplicableServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage#getApplicableServiceNS <em>Applicable Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Applicable Service NS</em>' container reference. + * @see #getApplicableServiceNS() + * @generated + */ + void setApplicableServiceNS( ApplicableServiceNS value ); + } // ServiceNsUsage diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceParameter.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceParameter.java index 6e4a36a..995e654 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceParameter.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceParameter.java @@ -28,10 +28,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the model object '<em><b>Service Parameter</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of the service parameter for control services. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -42,6 +38,7 @@ import org.eclipse.emf.common.util.Enumerator; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getTypeKind <em>Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getCDC <em>CDC</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter() @@ -53,13 +50,12 @@ public interface ServiceParameter extends DocumentedClass { * Returns the value of the '<em><b>Default Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Default value for the data attribute. May only be defined for data attributes with typeKind="BASIC" or "ENUMERATED". - * <!-- end-model-doc --> * @return the value of the '<em>Default Value</em>' attribute. + * @see #isSetDefaultValue() + * @see #unsetDefaultValue() * @see #setDefaultValue(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter_DefaultValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" * extendedMetaData="kind='attribute' name='defaultValue'" * @generated */ @@ -70,22 +66,46 @@ public interface ServiceParameter extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Default Value</em>' attribute. + * @see #isSetDefaultValue() + * @see #unsetDefaultValue() * @see #getDefaultValue() * @generated */ void setDefaultValue( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getDefaultValue <em>Default Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDefaultValue() + * @see #getDefaultValue() + * @see #setDefaultValue(String) + * @generated + */ + void unsetDefaultValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getDefaultValue <em>Default Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Default Value</em>' attribute is set. + * @see #unsetDefaultValue() + * @see #getDefaultValue() + * @see #setDefaultValue(String) + * @generated + */ + boolean isSetDefaultValue(); + /** * Returns the value of the '<em><b>Max Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Allowed maximal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number. - * <!-- end-model-doc --> * @return the value of the '<em>Max Value</em>' attribute. + * @see #isSetMaxValue() + * @see #unsetMaxValue() * @see #setMaxValue(BigDecimal) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter_MaxValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Decimal" * extendedMetaData="kind='attribute' name='maxValue'" * @generated */ @@ -96,22 +116,46 @@ public interface ServiceParameter extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Max Value</em>' attribute. + * @see #isSetMaxValue() + * @see #unsetMaxValue() * @see #getMaxValue() * @generated */ void setMaxValue( BigDecimal value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getMaxValue <em>Max Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMaxValue() + * @see #getMaxValue() + * @see #setMaxValue(BigDecimal) + * @generated + */ + void unsetMaxValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getMaxValue <em>Max Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Max Value</em>' attribute is set. + * @see #unsetMaxValue() + * @see #getMaxValue() + * @see #setMaxValue(BigDecimal) + * @generated + */ + boolean isSetMaxValue(); + /** * Returns the value of the '<em><b>Min Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Allowed minimal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number. - * <!-- end-model-doc --> * @return the value of the '<em>Min Value</em>' attribute. + * @see #isSetMinValue() + * @see #unsetMinValue() * @see #setMinValue(BigDecimal) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter_MinValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Decimal" * extendedMetaData="kind='attribute' name='minValue'" * @generated */ @@ -122,22 +166,46 @@ public interface ServiceParameter extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Min Value</em>' attribute. + * @see #isSetMinValue() + * @see #unsetMinValue() * @see #getMinValue() * @generated */ void setMinValue( BigDecimal value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getMinValue <em>Min Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMinValue() + * @see #getMinValue() + * @see #setMinValue(BigDecimal) + * @generated + */ + void unsetMinValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getMinValue <em>Min Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Min Value</em>' attribute is set. + * @see #unsetMinValue() + * @see #getMinValue() + * @see #setMinValue(BigDecimal) + * @generated + */ + boolean isSetMinValue(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -148,22 +216,47 @@ public interface ServiceParameter extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element. - * <!-- end-model-doc --> * @return the value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #setType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter_Type() - * @model extendedMetaData="kind='attribute' name='type'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='type'" * @generated */ String getType(); @@ -173,19 +266,41 @@ public interface ServiceParameter extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #getType() * @generated */ void setType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + void unsetType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getType <em>Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Type</em>' attribute is set. + * @see #unsetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + boolean isSetType(); + /** * Returns the value of the '<em><b>Type Kind</b></em>' attribute. * The default value is <code>"BASIC"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The kind of the data attribute's type. By default, "BASIC". - * <!-- end-model-doc --> * @return the value of the '<em>Type Kind</em>' attribute. * @see #isSetTypeKind() * @see #unsetTypeKind() @@ -232,4 +347,32 @@ public interface ServiceParameter extends DocumentedClass { */ boolean isSetTypeKind(); + /** + * Returns the value of the '<em><b>CDC</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getServiceParameter <em>Service Parameter</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>CDC</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>CDC</em>' container reference. + * @see #setCDC(CDC) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceParameter_CDC() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getServiceParameter + * @model opposite="serviceParameter" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + CDC getCDC(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter#getCDC <em>CDC</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>CDC</em>' container reference. + * @see #getCDC() + * @generated + */ + void setCDC( CDC value ); + } // ServiceParameter diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceType.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceType.java index 863d97c..8d81723 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceType.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceType.java @@ -31,6 +31,7 @@ import org.eclipse.emf.ecore.EObject; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getApplicableServices <em>Applicable Services</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceType() @@ -53,7 +54,7 @@ public interface ServiceType extends EObject { * @see #unsetName() * @see #setName(ACSIServicesKind) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceType_Name() - * @model unsettable="true" required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -95,4 +96,32 @@ public interface ServiceType extends EObject { */ boolean isSetName(); + /** + * Returns the value of the '<em><b>Applicable Services</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getService <em>Service</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Applicable Services</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>Applicable Services</em>' container reference. + * @see #setApplicableServices(ApplicableServices) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceType_ApplicableServices() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices#getService + * @model opposite="service" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ApplicableServices getApplicableServices(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType#getApplicableServices <em>Applicable Services</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Applicable Services</em>' container reference. + * @see #getApplicableServices() + * @generated + */ + void setApplicableServices( ApplicableServices value ); + } // ServiceType diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealization.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealization.java deleted file mode 100644 index 59508a7..0000000 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealization.java +++ /dev/null @@ -1,288 +0,0 @@ -/** - * Copyright (c) 2019 CentraleSupélec & EDF. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * This file is part of the RiseClipse tool - * - * Contributors: - * Computer Science Department, CentraleSupélec - * EDF R&D - * Contacts: - * dominique.marcadet@centralesupelec.fr - * aurelie.dehouck-neveu@edf.fr - * Web site: - * http://wdi.supelec.fr/software/RiseClipse/ - * - */ -package fr.centralesupelec.edf.riseclipse.iec61850.nsd; - -import org.eclipse.emf.common.util.Enumerator; - -import org.eclipse.emf.ecore.EObject; - -/** - * <!-- begin-user-doc --> - * A representation of the model object '<em><b>Service Type Realization</b></em>'. - * <!-- end-user-doc --> - * - * <!-- begin-model-doc --> - * Definition of the realization of an abstract type as constructed attribute in the service namespace. - * <!-- end-model-doc --> - * - * <p> - * The following features are supported: - * </p> - * <ul> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getFc <em>Fc</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getName <em>Name</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCond <em>Pres Cond</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgs <em>Pres Cond Args</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgsID <em>Pres Cond Args ID</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getType <em>Type</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getTypeKind <em>Type Kind</em>}</li> - * </ul> - * - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization() - * @model extendedMetaData="name='tServiceTypeRealization' kind='empty'" - * @generated - */ -public interface ServiceTypeRealization extends EObject { - /** - * Returns the value of the '<em><b>Fc</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Functional constraint of the data attribute. - * <!-- end-model-doc --> - * @return the value of the '<em>Fc</em>' attribute. - * @see #setFc(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_Fc() - * @model required="true" - * extendedMetaData="kind='attribute' name='fc'" - * @generated - */ - String getFc(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getFc <em>Fc</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Fc</em>' attribute. - * @see #getFc() - * @generated - */ - void setFc( String value ); - - /** - * Returns the value of the '<em><b>Name</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the data attribute. - * <!-- end-model-doc --> - * @return the value of the '<em>Name</em>' attribute. - * @see #setName(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_Name() - * @model required="true" - * extendedMetaData="kind='attribute' name='name'" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getName <em>Name</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Name</em>' attribute. - * @see #getName() - * @generated - */ - void setName( String value ); - - /** - * Returns the value of the '<em><b>Pres Cond</b></em>' attribute. - * The default value is <code>"M"</code>. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> - * @return the value of the '<em>Pres Cond</em>' attribute. - * @see #isSetPresCond() - * @see #unsetPresCond() - * @see #setPresCond(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_PresCond() - * @model default="M" unsettable="true" - * extendedMetaData="kind='attribute' name='presCond'" - * @generated - */ - String getPresCond(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCond <em>Pres Cond</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Pres Cond</em>' attribute. - * @see #isSetPresCond() - * @see #unsetPresCond() - * @see #getPresCond() - * @generated - */ - void setPresCond( String value ); - - /** - * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCond <em>Pres Cond</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #isSetPresCond() - * @see #getPresCond() - * @see #setPresCond(String) - * @generated - */ - void unsetPresCond(); - - /** - * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCond <em>Pres Cond</em>}' attribute is set. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return whether the value of the '<em>Pres Cond</em>' attribute is set. - * @see #unsetPresCond() - * @see #getPresCond() - * @see #setPresCond(String) - * @generated - */ - boolean isSetPresCond(); - - /** - * Returns the value of the '<em><b>Pres Cond Args</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> - * @return the value of the '<em>Pres Cond Args</em>' attribute. - * @see #setPresCondArgs(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_PresCondArgs() - * @model extendedMetaData="kind='attribute' name='presCondArgs'" - * @generated - */ - String getPresCondArgs(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgs <em>Pres Cond Args</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Pres Cond Args</em>' attribute. - * @see #getPresCondArgs() - * @generated - */ - void setPresCondArgs( String value ); - - /** - * Returns the value of the '<em><b>Pres Cond Args ID</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> - * @return the value of the '<em>Pres Cond Args ID</em>' attribute. - * @see #setPresCondArgsID(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_PresCondArgsID() - * @model extendedMetaData="kind='attribute' name='presCondArgsID'" - * @generated - */ - String getPresCondArgsID(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Pres Cond Args ID</em>' attribute. - * @see #getPresCondArgsID() - * @generated - */ - void setPresCondArgsID( String value ); - - /** - * Returns the value of the '<em><b>Type</b></em>' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element. - * <!-- end-model-doc --> - * @return the value of the '<em>Type</em>' attribute. - * @see #setType(String) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_Type() - * @model extendedMetaData="kind='attribute' name='type'" - * @generated - */ - String getType(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getType <em>Type</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Type</em>' attribute. - * @see #getType() - * @generated - */ - void setType( String value ); - - /** - * Returns the value of the '<em><b>Type Kind</b></em>' attribute. - * The default value is <code>"BASIC"</code>. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The kind of the data attribute's type. By default, "BASIC". - * <!-- end-model-doc --> - * @return the value of the '<em>Type Kind</em>' attribute. - * @see #isSetTypeKind() - * @see #unsetTypeKind() - * @see #setTypeKind(Enumerator) - * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealization_TypeKind() - * @model default="BASIC" unsettable="true" dataType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.AttributeTypeKind" - * extendedMetaData="kind='attribute' name='typeKind'" - * @generated - */ - Enumerator getTypeKind(); - - /** - * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getTypeKind <em>Type Kind</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @param value the new value of the '<em>Type Kind</em>' attribute. - * @see #isSetTypeKind() - * @see #unsetTypeKind() - * @see #getTypeKind() - * @generated - */ - void setTypeKind( Enumerator value ); - - /** - * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getTypeKind <em>Type Kind</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #isSetTypeKind() - * @see #getTypeKind() - * @see #setTypeKind(Enumerator) - * @generated - */ - void unsetTypeKind(); - - /** - * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization#getTypeKind <em>Type Kind</em>}' attribute is set. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return whether the value of the '<em>Type Kind</em>' attribute is set. - * @see #unsetTypeKind() - * @see #getTypeKind() - * @see #setTypeKind(Enumerator) - * @generated - */ - boolean isSetTypeKind(); - -} // ServiceTypeRealization diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealizations.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealizations.java index 8dc3230..5c5ce0d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealizations.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/ServiceTypeRealizations.java @@ -28,15 +28,12 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object '<em><b>Service Type Realizations</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * List of Service Type Realizations introduced by a namespace. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceTypeRealization <em>Service Type Realization</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceNS <em>Service NS</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealizations() @@ -47,17 +44,67 @@ public interface ServiceTypeRealizations extends EObject { /** * Returns the value of the '<em><b>Service Type Realization</b></em>' containment reference list. * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getServiceTypeRealizations <em>Service Type Realizations</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Realization of an abstract type as constructed attribute in the service namespace. - * <!-- end-model-doc --> * @return the value of the '<em>Service Type Realization</em>' containment reference list. + * @see #isSetServiceTypeRealization() + * @see #unsetServiceTypeRealization() * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealizations_ServiceTypeRealization() - * @model containment="true" + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getServiceTypeRealizations + * @model opposite="serviceTypeRealizations" containment="true" unsettable="true" ordered="false" * extendedMetaData="kind='element' name='ServiceTypeRealization' namespace='##targetNamespace'" * @generated */ EList< ConstructedAttribute > getServiceTypeRealization(); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceTypeRealization <em>Service Type Realization</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetServiceTypeRealization() + * @see #getServiceTypeRealization() + * @generated + */ + void unsetServiceTypeRealization(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceTypeRealization <em>Service Type Realization</em>}' containment reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Service Type Realization</em>' containment reference list is set. + * @see #unsetServiceTypeRealization() + * @see #getServiceTypeRealization() + * @generated + */ + boolean isSetServiceTypeRealization(); + + /** + * Returns the value of the '<em><b>Service NS</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceTypeRealizations <em>Service Type Realizations</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Service NS</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>Service NS</em>' container reference. + * @see #setServiceNS(ServiceNS) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getServiceTypeRealizations_ServiceNS() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS#getServiceTypeRealizations + * @model opposite="serviceTypeRealizations" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ServiceNS getServiceNS(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations#getServiceNS <em>Service NS</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Service NS</em>' container reference. + * @see #getServiceNS() + * @generated + */ + void setServiceNS( ServiceNS value ); + } // ServiceTypeRealizations diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataAttribute.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataAttribute.java index d52fa1d..741bbf2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataAttribute.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataAttribute.java @@ -28,10 +28,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the model object '<em><b>Sub Data Attribute</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a Sub Data Attribute (within a constructed data attribute). - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -49,6 +45,7 @@ import org.eclipse.emf.common.util.Enumerator; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getSizeAttribute <em>Size Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getTypeKind <em>Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getConstructedAttribute <em>Constructed Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute() @@ -60,13 +57,12 @@ public interface SubDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Default Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Default value for the data attribute. May only be defined for data attributes with typeKind="BASIC" or "ENUMERATED". - * <!-- end-model-doc --> * @return the value of the '<em>Default Value</em>' attribute. + * @see #isSetDefaultValue() + * @see #unsetDefaultValue() * @see #setDefaultValue(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_DefaultValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.NormalizedString" * extendedMetaData="kind='attribute' name='defaultValue'" * @generated */ @@ -77,19 +73,41 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Default Value</em>' attribute. + * @see #isSetDefaultValue() + * @see #unsetDefaultValue() * @see #getDefaultValue() * @generated */ void setDefaultValue( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getDefaultValue <em>Default Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetDefaultValue() + * @see #getDefaultValue() + * @see #setDefaultValue(String) + * @generated + */ + void unsetDefaultValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getDefaultValue <em>Default Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Default Value</em>' attribute is set. + * @see #unsetDefaultValue() + * @see #getDefaultValue() + * @see #setDefaultValue(String) + * @generated + */ + boolean isSetDefaultValue(); + /** * Returns the value of the '<em><b>Is Array</b></em>' attribute. * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether the element is an array. By default, not an array. - * <!-- end-model-doc --> * @return the value of the '<em>Is Array</em>' attribute. * @see #isSetIsArray() * @see #unsetIsArray() @@ -140,14 +158,13 @@ public interface SubDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Max Index Attribute</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the Attribute holding the maximal index of the array. - * Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used. - * <!-- end-model-doc --> * @return the value of the '<em>Max Index Attribute</em>' attribute. + * @see #isSetMaxIndexAttribute() + * @see #unsetMaxIndexAttribute() * @see #setMaxIndexAttribute(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_MaxIndexAttribute() - * @model extendedMetaData="kind='attribute' name='maxIndexAttribute'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='maxIndexAttribute'" * @generated */ String getMaxIndexAttribute(); @@ -157,22 +174,46 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Max Index Attribute</em>' attribute. + * @see #isSetMaxIndexAttribute() + * @see #unsetMaxIndexAttribute() * @see #getMaxIndexAttribute() * @generated */ void setMaxIndexAttribute( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getMaxIndexAttribute <em>Max Index Attribute</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMaxIndexAttribute() + * @see #getMaxIndexAttribute() + * @see #setMaxIndexAttribute(String) + * @generated + */ + void unsetMaxIndexAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getMaxIndexAttribute <em>Max Index Attribute</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Max Index Attribute</em>' attribute is set. + * @see #unsetMaxIndexAttribute() + * @see #getMaxIndexAttribute() + * @see #setMaxIndexAttribute(String) + * @generated + */ + boolean isSetMaxIndexAttribute(); + /** * Returns the value of the '<em><b>Max Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Allowed maximal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number. - * <!-- end-model-doc --> * @return the value of the '<em>Max Value</em>' attribute. + * @see #isSetMaxValue() + * @see #unsetMaxValue() * @see #setMaxValue(BigDecimal) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_MaxValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Decimal" * extendedMetaData="kind='attribute' name='maxValue'" * @generated */ @@ -183,21 +224,41 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Max Value</em>' attribute. + * @see #isSetMaxValue() + * @see #unsetMaxValue() * @see #getMaxValue() * @generated */ void setMaxValue( BigDecimal value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getMaxValue <em>Max Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMaxValue() + * @see #getMaxValue() + * @see #setMaxValue(BigDecimal) + * @generated + */ + void unsetMaxValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getMaxValue <em>Max Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Max Value</em>' attribute is set. + * @see #unsetMaxValue() + * @see #getMaxValue() + * @see #setMaxValue(BigDecimal) + * @generated + */ + boolean isSetMaxValue(); + /** * Returns the value of the '<em><b>Min Index</b></em>' attribute. * The default value is <code>"0"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Lowest index of the array. - * Is relevant information if and only if isArray=true. - * By default 0. - * <!-- end-model-doc --> * @return the value of the '<em>Min Index</em>' attribute. * @see #isSetMinIndex() * @see #unsetMinIndex() @@ -248,13 +309,12 @@ public interface SubDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Min Value</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Allowed minimal value (inclusive) for the data attribute. If not provided the minimal value according to the type is allowed. May only be defined for data attributes with typeKind="BASIC" and corresponding to a number. - * <!-- end-model-doc --> * @return the value of the '<em>Min Value</em>' attribute. + * @see #isSetMinValue() + * @see #unsetMinValue() * @see #setMinValue(BigDecimal) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_MinValue() - * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" + * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Decimal" * extendedMetaData="kind='attribute' name='minValue'" * @generated */ @@ -265,22 +325,46 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Min Value</em>' attribute. + * @see #isSetMinValue() + * @see #unsetMinValue() * @see #getMinValue() * @generated */ void setMinValue( BigDecimal value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getMinValue <em>Min Value</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMinValue() + * @see #getMinValue() + * @see #setMinValue(BigDecimal) + * @generated + */ + void unsetMinValue(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getMinValue <em>Min Value</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Min Value</em>' attribute is set. + * @see #unsetMinValue() + * @see #getMinValue() + * @see #setMinValue(BigDecimal) + * @generated + */ + boolean isSetMinValue(); + /** * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the data attribute. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -291,19 +375,41 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Pres Cond</b></em>' attribute. * The default value is <code>"M"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond</em>' attribute. * @see #isSetPresCond() * @see #unsetPresCond() @@ -354,13 +460,13 @@ public interface SubDataAttribute extends DocumentedClass { * Returns the value of the '<em><b>Pres Cond Args</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #setPresCondArgs(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_PresCondArgs() - * @model extendedMetaData="kind='attribute' name='presCondArgs'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgs'" * @generated */ String getPresCondArgs(); @@ -370,22 +476,47 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #getPresCondArgs() * @generated */ void setPresCondArgs( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getPresCondArgs <em>Pres Cond Args</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + void unsetPresCondArgs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getPresCondArgs <em>Pres Cond Args</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args</em>' attribute is set. + * @see #unsetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + boolean isSetPresCondArgs(); + /** * Returns the value of the '<em><b>Pres Cond Args ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #setPresCondArgsID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_PresCondArgsID() - * @model extendedMetaData="kind='attribute' name='presCondArgsID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgsID'" * @generated */ String getPresCondArgsID(); @@ -395,23 +526,47 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #getPresCondArgsID() * @generated */ void setPresCondArgsID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + void unsetPresCondArgsID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args ID</em>' attribute is set. + * @see #unsetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + boolean isSetPresCondArgsID(); + /** * Returns the value of the '<em><b>Size Attribute</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Sibling data attribute name holding the size of the array. - * Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used. - * <!-- end-model-doc --> * @return the value of the '<em>Size Attribute</em>' attribute. + * @see #isSetSizeAttribute() + * @see #unsetSizeAttribute() * @see #setSizeAttribute(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_SizeAttribute() - * @model extendedMetaData="kind='attribute' name='sizeAttribute'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='sizeAttribute'" * @generated */ String getSizeAttribute(); @@ -421,22 +576,47 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Size Attribute</em>' attribute. + * @see #isSetSizeAttribute() + * @see #unsetSizeAttribute() * @see #getSizeAttribute() * @generated */ void setSizeAttribute( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getSizeAttribute <em>Size Attribute</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSizeAttribute() + * @see #getSizeAttribute() + * @see #setSizeAttribute(String) + * @generated + */ + void unsetSizeAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getSizeAttribute <em>Size Attribute</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Size Attribute</em>' attribute is set. + * @see #unsetSizeAttribute() + * @see #getSizeAttribute() + * @see #setSizeAttribute(String) + * @generated + */ + boolean isSetSizeAttribute(); + /** * Returns the value of the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The type of the data attribute, e.g., the name of a basic type like INT32, the name of an enumeration of a constructed data attribute - depending on the sibling typeKind. If not provided, shall be defined by the "parent" element. - * <!-- end-model-doc --> * @return the value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #setType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_Type() - * @model extendedMetaData="kind='attribute' name='type'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='type'" * @generated */ String getType(); @@ -446,19 +626,41 @@ public interface SubDataAttribute extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #getType() * @generated */ void setType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + void unsetType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getType <em>Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Type</em>' attribute is set. + * @see #unsetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + boolean isSetType(); + /** * Returns the value of the '<em><b>Type Kind</b></em>' attribute. * The default value is <code>"BASIC"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The kind of the data attribute's type. By default, "BASIC". - * <!-- end-model-doc --> * @return the value of the '<em>Type Kind</em>' attribute. * @see #isSetTypeKind() * @see #unsetTypeKind() @@ -505,4 +707,32 @@ public interface SubDataAttribute extends DocumentedClass { */ boolean isSetTypeKind(); + /** + * Returns the value of the '<em><b>Constructed Attribute</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getSubDataAttribute <em>Sub Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Constructed Attribute</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>Constructed Attribute</em>' container reference. + * @see #setConstructedAttribute(ConstructedAttribute) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataAttribute_ConstructedAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getSubDataAttribute + * @model opposite="subDataAttribute" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + ConstructedAttribute getConstructedAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute#getConstructedAttribute <em>Constructed Attribute</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Constructed Attribute</em>' container reference. + * @see #getConstructedAttribute() + * @generated + */ + void setConstructedAttribute( ConstructedAttribute value ); + } // SubDataAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataObject.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataObject.java index b445a68..7164838 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataObject.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/SubDataObject.java @@ -24,10 +24,6 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>Sub Data Object</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * Definition of a Sub-Data Object. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -43,6 +39,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getUnderlyingType <em>Underlying Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getUnderlyingTypeKind <em>Underlying Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC <em>CDC</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject() @@ -55,9 +52,6 @@ public interface SubDataObject extends DocumentedClass { * The default value is <code>"false"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Flag indicating whether the element is an array. By default, not an array. - * <!-- end-model-doc --> * @return the value of the '<em>Is Array</em>' attribute. * @see #isSetIsArray() * @see #unsetIsArray() @@ -108,14 +102,13 @@ public interface SubDataObject extends DocumentedClass { * Returns the value of the '<em><b>Max Index Attribute</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the Attribute holding the maximal index of the array. - * Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used. - * <!-- end-model-doc --> * @return the value of the '<em>Max Index Attribute</em>' attribute. + * @see #isSetMaxIndexAttribute() + * @see #unsetMaxIndexAttribute() * @see #setMaxIndexAttribute(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_MaxIndexAttribute() - * @model extendedMetaData="kind='attribute' name='maxIndexAttribute'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='maxIndexAttribute'" * @generated */ String getMaxIndexAttribute(); @@ -125,21 +118,41 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Max Index Attribute</em>' attribute. + * @see #isSetMaxIndexAttribute() + * @see #unsetMaxIndexAttribute() * @see #getMaxIndexAttribute() * @generated */ void setMaxIndexAttribute( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getMaxIndexAttribute <em>Max Index Attribute</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetMaxIndexAttribute() + * @see #getMaxIndexAttribute() + * @see #setMaxIndexAttribute(String) + * @generated + */ + void unsetMaxIndexAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getMaxIndexAttribute <em>Max Index Attribute</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Max Index Attribute</em>' attribute is set. + * @see #unsetMaxIndexAttribute() + * @see #getMaxIndexAttribute() + * @see #setMaxIndexAttribute(String) + * @generated + */ + boolean isSetMaxIndexAttribute(); + /** * Returns the value of the '<em><b>Min Index</b></em>' attribute. * The default value is <code>"0"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Lowest index of the array. - * Is relevant information if and only if isArray=true. - * By default 0. - * <!-- end-model-doc --> * @return the value of the '<em>Min Index</em>' attribute. * @see #isSetMinIndex() * @see #unsetMinIndex() @@ -190,13 +203,12 @@ public interface SubDataObject extends DocumentedClass { * Returns the value of the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Name of the Sub-Data Object. - * <!-- end-model-doc --> * @return the value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #setName(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_Name() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='name'" * @generated */ @@ -207,19 +219,41 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Name</em>' attribute. + * @see #isSetName() + * @see #unsetName() * @see #getName() * @generated */ void setName( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + void unsetName(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getName <em>Name</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Name</em>' attribute is set. + * @see #unsetName() + * @see #getName() + * @see #setName(String) + * @generated + */ + boolean isSetName(); + /** * Returns the value of the '<em><b>Pres Cond</b></em>' attribute. * The default value is <code>"M"</code>. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Presence condition of the element. By default 'M' (mandatory). - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond</em>' attribute. * @see #isSetPresCond() * @see #unsetPresCond() @@ -270,13 +304,13 @@ public interface SubDataObject extends DocumentedClass { * Returns the value of the '<em><b>Pres Cond Args</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition. Can be a sibling element or a group number. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #setPresCondArgs(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_PresCondArgs() - * @model extendedMetaData="kind='attribute' name='presCondArgs'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgs'" * @generated */ String getPresCondArgs(); @@ -286,22 +320,47 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args</em>' attribute. + * @see #isSetPresCondArgs() + * @see #unsetPresCondArgs() * @see #getPresCondArgs() * @generated */ void setPresCondArgs( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getPresCondArgs <em>Pres Cond Args</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + void unsetPresCondArgs(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getPresCondArgs <em>Pres Cond Args</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args</em>' attribute is set. + * @see #unsetPresCondArgs() + * @see #getPresCondArgs() + * @see #setPresCondArgs(String) + * @generated + */ + boolean isSetPresCondArgs(); + /** * Returns the value of the '<em><b>Pres Cond Args ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Optional argument to the presence condition: a documentation identifier referring to some free text. - * <!-- end-model-doc --> * @return the value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #setPresCondArgsID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_PresCondArgsID() - * @model extendedMetaData="kind='attribute' name='presCondArgsID'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='presCondArgsID'" * @generated */ String getPresCondArgsID(); @@ -311,23 +370,47 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Pres Cond Args ID</em>' attribute. + * @see #isSetPresCondArgsID() + * @see #unsetPresCondArgsID() * @see #getPresCondArgsID() * @generated */ void setPresCondArgsID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + void unsetPresCondArgsID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getPresCondArgsID <em>Pres Cond Args ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Pres Cond Args ID</em>' attribute is set. + * @see #unsetPresCondArgsID() + * @see #getPresCondArgsID() + * @see #setPresCondArgsID(String) + * @generated + */ + boolean isSetPresCondArgsID(); + /** * Returns the value of the '<em><b>Size Attribute</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Sibling data attribute name holding the size of the array. - * Is relevant information if and only if isArray=true. One and only one of sizeAttribute and maxIndexAttribute shall be used. - * <!-- end-model-doc --> * @return the value of the '<em>Size Attribute</em>' attribute. + * @see #isSetSizeAttribute() + * @see #unsetSizeAttribute() * @see #setSizeAttribute(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_SizeAttribute() - * @model extendedMetaData="kind='attribute' name='sizeAttribute'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='sizeAttribute'" * @generated */ String getSizeAttribute(); @@ -337,22 +420,46 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Size Attribute</em>' attribute. + * @see #isSetSizeAttribute() + * @see #unsetSizeAttribute() * @see #getSizeAttribute() * @generated */ void setSizeAttribute( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getSizeAttribute <em>Size Attribute</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetSizeAttribute() + * @see #getSizeAttribute() + * @see #setSizeAttribute(String) + * @generated + */ + void unsetSizeAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getSizeAttribute <em>Size Attribute</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Size Attribute</em>' attribute is set. + * @see #unsetSizeAttribute() + * @see #getSizeAttribute() + * @see #setSizeAttribute(String) + * @generated + */ + boolean isSetSizeAttribute(); + /** * Returns the value of the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type of the SubDataObject, i.e., its CDC. - * <!-- end-model-doc --> * @return the value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #setType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_Type() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='type'" * @generated */ @@ -363,22 +470,47 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Type</em>' attribute. + * @see #isSetType() + * @see #unsetType() * @see #getType() * @generated */ void setType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getType <em>Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + void unsetType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getType <em>Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Type</em>' attribute is set. + * @see #unsetType() + * @see #getType() + * @see #setType(String) + * @generated + */ + boolean isSetType(); + /** * Returns the value of the '<em><b>Underlying Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type to be used for type-open CDCs, e.g., enumeration to be used for enumeration-based CDCs (e.g., ENS, ENC, ENG). - * <!-- end-model-doc --> * @return the value of the '<em>Underlying Type</em>' attribute. + * @see #isSetUnderlyingType() + * @see #unsetUnderlyingType() * @see #setUnderlyingType(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_UnderlyingType() - * @model extendedMetaData="kind='attribute' name='underlyingType'" + * @model unsettable="true" + * extendedMetaData="kind='attribute' name='underlyingType'" * @generated */ String getUnderlyingType(); @@ -388,19 +520,41 @@ public interface SubDataObject extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Underlying Type</em>' attribute. + * @see #isSetUnderlyingType() + * @see #unsetUnderlyingType() * @see #getUnderlyingType() * @generated */ void setUnderlyingType( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getUnderlyingType <em>Underlying Type</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetUnderlyingType() + * @see #getUnderlyingType() + * @see #setUnderlyingType(String) + * @generated + */ + void unsetUnderlyingType(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getUnderlyingType <em>Underlying Type</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Underlying Type</em>' attribute is set. + * @see #unsetUnderlyingType() + * @see #getUnderlyingType() + * @see #setUnderlyingType(String) + * @generated + */ + boolean isSetUnderlyingType(); + /** * Returns the value of the '<em><b>Underlying Type Kind</b></em>' attribute. * The literals are from the enumeration {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind}. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * The typeKind to be used for all "undefined" attributes of the CDC of this DataObject. - * <!-- end-model-doc --> * @return the value of the '<em>Underlying Type Kind</em>' attribute. * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind * @see #isSetUnderlyingTypeKind() @@ -449,4 +603,32 @@ public interface SubDataObject extends DocumentedClass { */ boolean isSetUnderlyingTypeKind(); + /** + * Returns the value of the '<em><b>CDC</b></em>' container reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getSubDataObject <em>Sub Data Object</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>CDC</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>CDC</em>' container reference. + * @see #setCDC(CDC) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_CDC() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getSubDataObject + * @model opposite="subDataObject" resolveProxies="false" unsettable="true" ordered="false" + * @generated + */ + CDC getCDC(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC <em>CDC</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>CDC</em>' container reference. + * @see #getCDC() + * @generated + */ + void setCDC( CDC value ); + } // SubDataObject diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/TitledClass.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/TitledClass.java index bfa5910..5689e87 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/TitledClass.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/TitledClass.java @@ -24,10 +24,6 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * A representation of the model object '<em><b>Titled Class</b></em>'. * <!-- end-user-doc --> * - * <!-- begin-model-doc --> - * A tDocumentedClass with title. - * <!-- end-model-doc --> - * * <p> * The following features are supported: * </p> @@ -44,13 +40,12 @@ public interface TitledClass extends DocumentedClass { * Returns the value of the '<em><b>Title ID</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Documentation identifier referring to the title (alias) of this object. - * <!-- end-model-doc --> * @return the value of the '<em>Title ID</em>' attribute. + * @see #isSetTitleID() + * @see #unsetTitleID() * @see #setTitleID(String) * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getTitledClass_TitleID() - * @model required="true" + * @model unsettable="true" * extendedMetaData="kind='attribute' name='titleID'" * @generated */ @@ -61,9 +56,34 @@ public interface TitledClass extends DocumentedClass { * <!-- begin-user-doc --> * <!-- end-user-doc --> * @param value the new value of the '<em>Title ID</em>' attribute. + * @see #isSetTitleID() + * @see #unsetTitleID() * @see #getTitleID() * @generated */ void setTitleID( String value ); + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TitledClass#getTitleID <em>Title ID</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetTitleID() + * @see #getTitleID() + * @see #setTitleID(String) + * @generated + */ + void unsetTitleID(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TitledClass#getTitleID <em>Title ID</em>}' attribute is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Title ID</em>' attribute is set. + * @see #unsetTitleID() + * @see #getTitleID() + * @see #setTitleID(String) + * @generated + */ + boolean isSetTitleID(); + } // TitledClass diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/UndefinedAttributeTypeKind.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/UndefinedAttributeTypeKind.java index a6cc91a..d191004 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/UndefinedAttributeTypeKind.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/UndefinedAttributeTypeKind.java @@ -30,9 +30,6 @@ import org.eclipse.emf.common.util.Enumerator; * A representation of the literals of the enumeration '<em><b>Undefined Attribute Type Kind</b></em>', * and utility methods for working with them. * <!-- end-user-doc --> - * <!-- begin-model-doc --> - * Type kind for a data attribute which has its type "undefined". - * <!-- end-model-doc --> * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getUndefinedAttributeTypeKind() * @model extendedMetaData="name='tUndefinedAttributeTypeKind'" * @generated diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationImpl.java index c6f37ca..c01a2ea 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationImpl.java @@ -20,14 +20,18 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; /** * <!-- begin-user-doc --> @@ -39,6 +43,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationImpl#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationImpl#getAbbreviations <em>Abbreviations</em>}</li> * </ul> * * @generated @@ -64,6 +69,15 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -84,6 +98,15 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -122,8 +145,35 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.ABBREVIATION__DESC_ID, oldDescID, descID ) ); + boolean oldDescIDESet = descIDESet; + descIDESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ABBREVIATION__DESC_ID, oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ABBREVIATION__DESC_ID, oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -145,8 +195,122 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.ABBREVIATION__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ABBREVIATION__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ABBREVIATION__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Abbreviations getAbbreviations() { + if( eContainerFeatureID() != NsdPackage.ABBREVIATION__ABBREVIATIONS ) return null; + return ( Abbreviations ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetAbbreviations( Abbreviations newAbbreviations, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newAbbreviations, NsdPackage.ABBREVIATION__ABBREVIATIONS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setAbbreviations( Abbreviations newAbbreviations ) { + if( newAbbreviations != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.ABBREVIATION__ABBREVIATIONS && newAbbreviations != null ) ) { + if( EcoreUtil.isAncestor( this, newAbbreviations ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newAbbreviations != null ) msgs = ( ( InternalEObject ) newAbbreviations ).eInverseAdd( this, + NsdPackage.ABBREVIATIONS__ABBREVIATION, Abbreviations.class, msgs ); + msgs = basicSetAbbreviations( newAbbreviations, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ABBREVIATION__ABBREVIATIONS, newAbbreviations, newAbbreviations ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.ABBREVIATION__ABBREVIATIONS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetAbbreviations( ( Abbreviations ) 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 NsdPackage.ABBREVIATION__ABBREVIATIONS: + return basicSetAbbreviations( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.ABBREVIATION__ABBREVIATIONS: + return eInternalContainer().eInverseRemove( this, NsdPackage.ABBREVIATIONS__ABBREVIATION, + Abbreviations.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -161,6 +325,8 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab return getDescID(); case NsdPackage.ABBREVIATION__NAME: return getName(); + case NsdPackage.ABBREVIATION__ABBREVIATIONS: + return getAbbreviations(); } return super.eGet( featureID, resolve, coreType ); } @@ -179,6 +345,9 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab case NsdPackage.ABBREVIATION__NAME: setName( ( String ) newValue ); return; + case NsdPackage.ABBREVIATION__ABBREVIATIONS: + setAbbreviations( ( Abbreviations ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -192,10 +361,13 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.ABBREVIATION__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.ABBREVIATION__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.ABBREVIATION__ABBREVIATIONS: + setAbbreviations( ( Abbreviations ) null ); return; } super.eUnset( featureID ); @@ -210,9 +382,11 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.ABBREVIATION__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.ABBREVIATION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.ABBREVIATION__ABBREVIATIONS: + return getAbbreviations() != null; } return super.eIsSet( featureID ); } @@ -228,9 +402,15 @@ public class AbbreviationImpl extends MinimalEObjectImpl.Container implements Ab StringBuilder result = new StringBuilder( super.toString() ); result.append( " (descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationsImpl.java index 58dc572..44f3394 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbbreviationsImpl.java @@ -21,10 +21,13 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviation; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Abbreviations; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; 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; @@ -32,9 +35,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +50,8 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationsImpl#getAbbreviation <em>Abbreviation</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationsImpl#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbbreviationsImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -88,12 +94,140 @@ public class AbbreviationsImpl extends MinimalEObjectImpl.Container implements A @Override public EList< Abbreviation > getAbbreviation() { if( abbreviation == null ) { - abbreviation = new EObjectContainmentEList< Abbreviation >( Abbreviation.class, this, - NsdPackage.ABBREVIATIONS__ABBREVIATION ); + abbreviation = new EObjectContainmentWithInverseEList.Unsettable< Abbreviation >( Abbreviation.class, this, + NsdPackage.ABBREVIATIONS__ABBREVIATION, NsdPackage.ABBREVIATION__ABBREVIATIONS ); } return abbreviation; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetAbbreviation() { + if( abbreviation != null ) ( ( InternalEList.Unsettable< ? > ) abbreviation ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetAbbreviation() { + return abbreviation != null && ( ( InternalEList.Unsettable< ? > ) abbreviation ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.ABBREVIATIONS__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.ABBREVIATIONS__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.ABBREVIATIONS__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__ABBREVIATIONS, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.ABBREVIATIONS__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.ABBREVIATIONS__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, NsdPackage.ABBREVIATIONS__SERVICE_NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.ABBREVIATIONS__SERVICE_NS && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__ABBREVIATIONS, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ABBREVIATIONS__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.ABBREVIATIONS__ABBREVIATION: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getAbbreviation() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.ABBREVIATIONS__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +238,31 @@ public class AbbreviationsImpl extends MinimalEObjectImpl.Container implements A switch( featureID ) { case NsdPackage.ABBREVIATIONS__ABBREVIATION: return ( ( InternalEList< ? > ) getAbbreviation() ).basicRemove( otherEnd, msgs ); + case NsdPackage.ABBREVIATIONS__NS: + return basicSetNS( null, msgs ); + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + return basicSetServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.ABBREVIATIONS__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__ABBREVIATIONS, NS.class, msgs ); + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__ABBREVIATIONS, ServiceNS.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +273,10 @@ public class AbbreviationsImpl extends MinimalEObjectImpl.Container implements A switch( featureID ) { case NsdPackage.ABBREVIATIONS__ABBREVIATION: return getAbbreviation(); + case NsdPackage.ABBREVIATIONS__NS: + return getNS(); + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +294,12 @@ public class AbbreviationsImpl extends MinimalEObjectImpl.Container implements A getAbbreviation().clear(); getAbbreviation().addAll( ( Collection< ? extends Abbreviation > ) newValue ); return; + case NsdPackage.ABBREVIATIONS__NS: + setNS( ( NS ) newValue ); + return; + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +313,13 @@ public class AbbreviationsImpl extends MinimalEObjectImpl.Container implements A public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.ABBREVIATIONS__ABBREVIATION: - getAbbreviation().clear(); + unsetAbbreviation(); + return; + case NsdPackage.ABBREVIATIONS__NS: + setNS( ( NS ) null ); + return; + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +334,11 @@ public class AbbreviationsImpl extends MinimalEObjectImpl.Container implements A public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.ABBREVIATIONS__ABBREVIATION: - return abbreviation != null && !abbreviation.isEmpty(); + return isSetAbbreviation(); + case NsdPackage.ABBREVIATIONS__NS: + return getNS() != null; + case NsdPackage.ABBREVIATIONS__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java index 777bdd1..4a0b285 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AbstractLNClassImpl.java @@ -20,13 +20,17 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -37,6 +41,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbstractLNClassImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AbstractLNClassImpl#getLNClasses <em>LN Classes</em>}</li> * </ul> * * @generated @@ -62,6 +67,15 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -100,8 +114,122 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.ABSTRACT_LN_CLASS__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ABSTRACT_LN_CLASS__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ABSTRACT_LN_CLASS__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public LNClasses getLNClasses() { + if( eContainerFeatureID() != NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES ) return null; + return ( LNClasses ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetLNClasses( LNClasses newLNClasses, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newLNClasses, NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setLNClasses( LNClasses newLNClasses ) { + if( newLNClasses != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES && newLNClasses != null ) ) { + if( EcoreUtil.isAncestor( this, newLNClasses ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newLNClasses != null ) msgs = ( ( InternalEObject ) newLNClasses ).eInverseAdd( this, + NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS, LNClasses.class, msgs ); + msgs = basicSetLNClasses( newLNClasses, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES, newLNClasses, newLNClasses ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetLNClasses( ( LNClasses ) 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 NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + return basicSetLNClasses( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + return eInternalContainer().eInverseRemove( this, NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS, LNClasses.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -114,6 +242,8 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla switch( featureID ) { case NsdPackage.ABSTRACT_LN_CLASS__NAME: return getName(); + case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + return getLNClasses(); } return super.eGet( featureID, resolve, coreType ); } @@ -129,6 +259,9 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla case NsdPackage.ABSTRACT_LN_CLASS__NAME: setName( ( String ) newValue ); return; + case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + setLNClasses( ( LNClasses ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -142,7 +275,10 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.ABSTRACT_LN_CLASS__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + setLNClasses( ( LNClasses ) null ); return; } super.eUnset( featureID ); @@ -157,7 +293,9 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.ABSTRACT_LN_CLASS__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES: + return getLNClasses() != null; } return super.eIsSet( featureID ); } @@ -173,7 +311,10 @@ public class AbstractLNClassImpl extends AnyLNClassImpl implements AbstractLNCla StringBuilder result = new StringBuilder( super.toString() ); result.append( " (name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java index cb4a9cd..10409b1 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AnyLNClassImpl.java @@ -34,8 +34,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.EObjectContainmentWithInverseEList; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -83,6 +82,15 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla */ protected String base = BASE_EDEFAULT; + /** + * This is true if the Base attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean baseESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -110,12 +118,32 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla @Override public EList< DataObject > getDataObject() { if( dataObject == null ) { - dataObject = new EObjectContainmentEList< DataObject >( DataObject.class, this, - NsdPackage.ANY_LN_CLASS__DATA_OBJECT ); + dataObject = new EObjectContainmentWithInverseEList.Unsettable< DataObject >( DataObject.class, this, + NsdPackage.ANY_LN_CLASS__DATA_OBJECT, NsdPackage.DATA_OBJECT__ANY_LN_CLASS ); } return dataObject; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDataObject() { + if( dataObject != null ) ( ( InternalEList.Unsettable< ? > ) dataObject ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDataObject() { + return dataObject != null && ( ( InternalEList.Unsettable< ? > ) dataObject ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -135,8 +163,51 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla public void setBase( String newBase ) { String oldBase = base; base = newBase; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.ANY_LN_CLASS__BASE, oldBase, base ) ); + boolean oldBaseESet = baseESet; + baseESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ANY_LN_CLASS__BASE, oldBase, base, !oldBaseESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetBase() { + String oldBase = base; + boolean oldBaseESet = baseESet; + base = BASE_EDEFAULT; + baseESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ANY_LN_CLASS__BASE, oldBase, BASE_EDEFAULT, oldBaseESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetBase() { + return baseESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.ANY_LN_CLASS__DATA_OBJECT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getDataObject() ).basicAdd( otherEnd, + msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -198,10 +269,10 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.ANY_LN_CLASS__DATA_OBJECT: - getDataObject().clear(); + unsetDataObject(); return; case NsdPackage.ANY_LN_CLASS__BASE: - setBase( BASE_EDEFAULT ); + unsetBase(); return; } super.eUnset( featureID ); @@ -216,9 +287,9 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.ANY_LN_CLASS__DATA_OBJECT: - return dataObject != null && !dataObject.isEmpty(); + return isSetDataObject(); case NsdPackage.ANY_LN_CLASS__BASE: - return BASE_EDEFAULT == null ? base != null : !BASE_EDEFAULT.equals( base ); + return isSetBase(); } return super.eIsSet( featureID ); } @@ -234,7 +305,10 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla StringBuilder result = new StringBuilder( super.toString() ); result.append( " (base: " ); - result.append( base ); + if( baseESet ) + result.append( base ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServiceNSImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServiceNSImpl.java index 356f7eb..2d2731d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServiceNSImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServiceNSImpl.java @@ -36,8 +36,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.EObjectContainmentWithInverseEList; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -86,6 +85,15 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab */ protected XMLGregorianCalendar date = DATE_EDEFAULT; + /** + * This is true if the Date attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean dateESet; + /** * The default value of the '{@link #getVersion() <em>Version</em>}' attribute. * <!-- begin-user-doc --> @@ -142,12 +150,33 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab @Override public EList< ServiceNsUsage > getServiceNsUsage() { if( serviceNsUsage == null ) { - serviceNsUsage = new EObjectContainmentEList< ServiceNsUsage >( ServiceNsUsage.class, this, - NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE ); + serviceNsUsage = new EObjectContainmentWithInverseEList.Unsettable< ServiceNsUsage >( ServiceNsUsage.class, + this, NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE, + NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS ); } return serviceNsUsage; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceNsUsage() { + if( serviceNsUsage != null ) ( ( InternalEList.Unsettable< ? > ) serviceNsUsage ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceNsUsage() { + return serviceNsUsage != null && ( ( InternalEList.Unsettable< ? > ) serviceNsUsage ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -167,8 +196,35 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab public void setDate( XMLGregorianCalendar newDate ) { XMLGregorianCalendar oldDate = date; date = newDate; + boolean oldDateESet = dateESet; + dateESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.APPLICABLE_SERVICE_NS__DATE, oldDate, date ) ); + NsdPackage.APPLICABLE_SERVICE_NS__DATE, oldDate, date, !oldDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDate() { + XMLGregorianCalendar oldDate = date; + boolean oldDateESet = dateESet; + date = DATE_EDEFAULT; + dateESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.APPLICABLE_SERVICE_NS__DATE, oldDate, DATE_EDEFAULT, oldDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDate() { + return dateESet; } /** @@ -221,6 +277,22 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab return versionESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getServiceNsUsage() ) + .basicAdd( otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -285,10 +357,10 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE: - getServiceNsUsage().clear(); + unsetServiceNsUsage(); return; case NsdPackage.APPLICABLE_SERVICE_NS__DATE: - setDate( DATE_EDEFAULT ); + unsetDate(); return; case NsdPackage.APPLICABLE_SERVICE_NS__VERSION: unsetVersion(); @@ -306,9 +378,9 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE: - return serviceNsUsage != null && !serviceNsUsage.isEmpty(); + return isSetServiceNsUsage(); case NsdPackage.APPLICABLE_SERVICE_NS__DATE: - return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals( date ); + return isSetDate(); case NsdPackage.APPLICABLE_SERVICE_NS__VERSION: return isSetVersion(); } @@ -326,7 +398,10 @@ public class ApplicableServiceNSImpl extends CopyrightedImpl implements Applicab StringBuilder result = new StringBuilder( super.toString() ); result.append( " (date: " ); - result.append( date ); + if( dateESet ) + result.append( date ); + else + result.append( "<unset>" ); result.append( ", version: " ); if( versionESet ) result.append( version ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServicesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServicesImpl.java index c6bc7b7..35b88cc 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServicesImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ApplicableServicesImpl.java @@ -21,11 +21,13 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType; 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; @@ -33,9 +35,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -48,6 +51,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ApplicableServicesImpl#getService <em>Service</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ApplicableServicesImpl#getDataSetMemberOf <em>Data Set Member Of</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ApplicableServicesImpl#getFunctionalConstraint <em>Functional Constraint</em>}</li> * </ul> * * @generated @@ -100,12 +104,32 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme @Override public EList< ServiceType > getService() { if( service == null ) { - service = new EObjectContainmentEList< ServiceType >( ServiceType.class, this, - NsdPackage.APPLICABLE_SERVICES__SERVICE ); + service = new EObjectContainmentWithInverseEList.Unsettable< ServiceType >( ServiceType.class, this, + NsdPackage.APPLICABLE_SERVICES__SERVICE, NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES ); } return service; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetService() { + if( service != null ) ( ( InternalEList.Unsettable< ? > ) service ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetService() { + return service != null && ( ( InternalEList.Unsettable< ? > ) service ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -114,12 +138,103 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme @Override public EList< DataSetMemberOf > getDataSetMemberOf() { if( dataSetMemberOf == null ) { - dataSetMemberOf = new EObjectContainmentEList< DataSetMemberOf >( DataSetMemberOf.class, this, - NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF ); + dataSetMemberOf = new EObjectContainmentWithInverseEList.Unsettable< DataSetMemberOf >( + DataSetMemberOf.class, this, NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF, + NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES ); } return dataSetMemberOf; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDataSetMemberOf() { + if( dataSetMemberOf != null ) ( ( InternalEList.Unsettable< ? > ) dataSetMemberOf ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDataSetMemberOf() { + return dataSetMemberOf != null && ( ( InternalEList.Unsettable< ? > ) dataSetMemberOf ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionalConstraint getFunctionalConstraint() { + if( eContainerFeatureID() != NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT ) return null; + return ( FunctionalConstraint ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetFunctionalConstraint( FunctionalConstraint newFunctionalConstraint, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newFunctionalConstraint, + NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFunctionalConstraint( FunctionalConstraint newFunctionalConstraint ) { + if( newFunctionalConstraint != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT + && newFunctionalConstraint != null ) ) { + if( EcoreUtil.isAncestor( this, newFunctionalConstraint ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newFunctionalConstraint != null ) + msgs = ( ( InternalEObject ) newFunctionalConstraint ).eInverseAdd( this, + NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, FunctionalConstraint.class, msgs ); + msgs = basicSetFunctionalConstraint( newFunctionalConstraint, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT, + newFunctionalConstraint, newFunctionalConstraint ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.APPLICABLE_SERVICES__SERVICE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getService() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getDataSetMemberOf() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetFunctionalConstraint( ( FunctionalConstraint ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -132,10 +247,27 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme return ( ( InternalEList< ? > ) getService() ).basicRemove( otherEnd, msgs ); case NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF: return ( ( InternalEList< ? > ) getDataSetMemberOf() ).basicRemove( otherEnd, msgs ); + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + return basicSetFunctionalConstraint( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + return eInternalContainer().eInverseRemove( this, NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, + FunctionalConstraint.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -148,6 +280,8 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme return getService(); case NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF: return getDataSetMemberOf(); + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + return getFunctionalConstraint(); } return super.eGet( featureID, resolve, coreType ); } @@ -169,6 +303,9 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme getDataSetMemberOf().clear(); getDataSetMemberOf().addAll( ( Collection< ? extends DataSetMemberOf > ) newValue ); return; + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + setFunctionalConstraint( ( FunctionalConstraint ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -182,10 +319,13 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.APPLICABLE_SERVICES__SERVICE: - getService().clear(); + unsetService(); return; case NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF: - getDataSetMemberOf().clear(); + unsetDataSetMemberOf(); + return; + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + setFunctionalConstraint( ( FunctionalConstraint ) null ); return; } super.eUnset( featureID ); @@ -200,9 +340,11 @@ public class ApplicableServicesImpl extends MinimalEObjectImpl.Container impleme public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.APPLICABLE_SERVICES__SERVICE: - return service != null && !service.isEmpty(); + return isSetService(); case NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF: - return dataSetMemberOf != null && !dataSetMemberOf.isEmpty(); + return isSetDataSetMemberOf(); + case NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT: + return getFunctionalConstraint() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java index 6192b05..f197d78 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/AppliesToTypeImpl.java @@ -23,11 +23,15 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -40,6 +44,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getId <em>Id</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getPublicationStage <em>Publication Stage</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.AppliesToTypeImpl#getServiceNsUsage <em>Service Ns Usage</em>}</li> * </ul> * * @generated @@ -65,6 +70,15 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> @@ -161,8 +175,35 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem public void setId( String newId ) { String oldId = id; id = newId; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.APPLIES_TO_TYPE__ID, oldId, id ) ); + boolean oldIdESet = idESet; + idESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.APPLIES_TO_TYPE__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.APPLIES_TO_TYPE__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; } /** @@ -267,6 +308,95 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem return revisionESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNsUsage getServiceNsUsage() { + if( eContainerFeatureID() != NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE ) return null; + return ( ServiceNsUsage ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNsUsage( ServiceNsUsage newServiceNsUsage, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNsUsage, NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE, + msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNsUsage( ServiceNsUsage newServiceNsUsage ) { + if( newServiceNsUsage != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE + && newServiceNsUsage != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNsUsage ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNsUsage != null ) msgs = ( ( InternalEObject ) newServiceNsUsage ).eInverseAdd( this, + NsdPackage.SERVICE_NS_USAGE__APPLIES_TO, ServiceNsUsage.class, msgs ); + msgs = basicSetServiceNsUsage( newServiceNsUsage, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE, newServiceNsUsage, newServiceNsUsage ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNsUsage( ( ServiceNsUsage ) 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 NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + return basicSetServiceNsUsage( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS_USAGE__APPLIES_TO, + ServiceNsUsage.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -281,6 +411,8 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem return getPublicationStage(); case NsdPackage.APPLIES_TO_TYPE__REVISION: return getRevision(); + case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + return getServiceNsUsage(); } return super.eGet( featureID, resolve, coreType ); } @@ -302,6 +434,9 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem case NsdPackage.APPLIES_TO_TYPE__REVISION: setRevision( ( String ) newValue ); return; + case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + setServiceNsUsage( ( ServiceNsUsage ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -315,7 +450,7 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.APPLIES_TO_TYPE__ID: - setId( ID_EDEFAULT ); + unsetId(); return; case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: unsetPublicationStage(); @@ -323,6 +458,9 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem case NsdPackage.APPLIES_TO_TYPE__REVISION: unsetRevision(); return; + case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + setServiceNsUsage( ( ServiceNsUsage ) null ); + return; } super.eUnset( featureID ); } @@ -336,11 +474,13 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.APPLIES_TO_TYPE__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); + return isSetId(); case NsdPackage.APPLIES_TO_TYPE__PUBLICATION_STAGE: return isSetPublicationStage(); case NsdPackage.APPLIES_TO_TYPE__REVISION: return isSetRevision(); + case NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE: + return getServiceNsUsage() != null; } return super.eIsSet( featureID ); } @@ -356,7 +496,10 @@ public class AppliesToTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem StringBuilder result = new StringBuilder( super.toString() ); result.append( " (id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ", publicationStage: " ); if( publicationStageESet ) result.append( publicationStage ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypeImpl.java index 4503d56..36f8087 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypeImpl.java @@ -20,14 +20,18 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; /** * <!-- begin-user-doc --> @@ -39,6 +43,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypeImpl#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypeImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypeImpl#getBasicTypes <em>Basic Types</em>}</li> * </ul> * * @generated @@ -64,6 +69,15 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -84,6 +98,15 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -122,8 +145,35 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.BASIC_TYPE__DESC_ID, oldDescID, descID ) ); + boolean oldDescIDESet = descIDESet; + descIDESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.BASIC_TYPE__DESC_ID, oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.BASIC_TYPE__DESC_ID, oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -145,8 +195,122 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.BASIC_TYPE__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.BASIC_TYPE__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.BASIC_TYPE__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public BasicTypes getBasicTypes() { + if( eContainerFeatureID() != NsdPackage.BASIC_TYPE__BASIC_TYPES ) return null; + return ( BasicTypes ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetBasicTypes( BasicTypes newBasicTypes, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newBasicTypes, NsdPackage.BASIC_TYPE__BASIC_TYPES, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setBasicTypes( BasicTypes newBasicTypes ) { + if( newBasicTypes != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.BASIC_TYPE__BASIC_TYPES && newBasicTypes != null ) ) { + if( EcoreUtil.isAncestor( this, newBasicTypes ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newBasicTypes != null ) msgs = ( ( InternalEObject ) newBasicTypes ).eInverseAdd( this, + NsdPackage.BASIC_TYPES__BASIC_TYPE, BasicTypes.class, msgs ); + msgs = basicSetBasicTypes( newBasicTypes, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.BASIC_TYPE__BASIC_TYPES, newBasicTypes, newBasicTypes ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.BASIC_TYPE__BASIC_TYPES: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetBasicTypes( ( BasicTypes ) 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 NsdPackage.BASIC_TYPE__BASIC_TYPES: + return basicSetBasicTypes( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.BASIC_TYPE__BASIC_TYPES: + return eInternalContainer().eInverseRemove( this, NsdPackage.BASIC_TYPES__BASIC_TYPE, BasicTypes.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -161,6 +325,8 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic return getDescID(); case NsdPackage.BASIC_TYPE__NAME: return getName(); + case NsdPackage.BASIC_TYPE__BASIC_TYPES: + return getBasicTypes(); } return super.eGet( featureID, resolve, coreType ); } @@ -179,6 +345,9 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic case NsdPackage.BASIC_TYPE__NAME: setName( ( String ) newValue ); return; + case NsdPackage.BASIC_TYPE__BASIC_TYPES: + setBasicTypes( ( BasicTypes ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -192,10 +361,13 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.BASIC_TYPE__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.BASIC_TYPE__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.BASIC_TYPE__BASIC_TYPES: + setBasicTypes( ( BasicTypes ) null ); return; } super.eUnset( featureID ); @@ -210,9 +382,11 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.BASIC_TYPE__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.BASIC_TYPE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.BASIC_TYPE__BASIC_TYPES: + return getBasicTypes() != null; } return super.eIsSet( featureID ); } @@ -228,9 +402,15 @@ public class BasicTypeImpl extends MinimalEObjectImpl.Container implements Basic StringBuilder result = new StringBuilder( super.toString() ); result.append( " (descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypesImpl.java index cf65af5..a2e9ecf 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypesImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/BasicTypesImpl.java @@ -21,10 +21,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicType; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypesImpl#getBasicType <em>Basic Type</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.BasicTypesImpl#getNS <em>NS</em>}</li> * </ul> * * @generated @@ -88,12 +92,94 @@ public class BasicTypesImpl extends MinimalEObjectImpl.Container implements Basi @Override public EList< BasicType > getBasicType() { if( basicType == null ) { - basicType = new EObjectContainmentEList< BasicType >( BasicType.class, this, - NsdPackage.BASIC_TYPES__BASIC_TYPE ); + basicType = new EObjectContainmentWithInverseEList.Unsettable< BasicType >( BasicType.class, this, + NsdPackage.BASIC_TYPES__BASIC_TYPE, NsdPackage.BASIC_TYPE__BASIC_TYPES ); } return basicType; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetBasicType() { + if( basicType != null ) ( ( InternalEList.Unsettable< ? > ) basicType ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetBasicType() { + return basicType != null && ( ( InternalEList.Unsettable< ? > ) basicType ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.BASIC_TYPES__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.BASIC_TYPES__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.BASIC_TYPES__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__BASIC_TYPES, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.BASIC_TYPES__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.BASIC_TYPES__BASIC_TYPE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getBasicType() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.BASIC_TYPES__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +190,26 @@ public class BasicTypesImpl extends MinimalEObjectImpl.Container implements Basi switch( featureID ) { case NsdPackage.BASIC_TYPES__BASIC_TYPE: return ( ( InternalEList< ? > ) getBasicType() ).basicRemove( otherEnd, msgs ); + case NsdPackage.BASIC_TYPES__NS: + return basicSetNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.BASIC_TYPES__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__BASIC_TYPES, NS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +220,8 @@ public class BasicTypesImpl extends MinimalEObjectImpl.Container implements Basi switch( featureID ) { case NsdPackage.BASIC_TYPES__BASIC_TYPE: return getBasicType(); + case NsdPackage.BASIC_TYPES__NS: + return getNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +239,9 @@ public class BasicTypesImpl extends MinimalEObjectImpl.Container implements Basi getBasicType().clear(); getBasicType().addAll( ( Collection< ? extends BasicType > ) newValue ); return; + case NsdPackage.BASIC_TYPES__NS: + setNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +255,10 @@ public class BasicTypesImpl extends MinimalEObjectImpl.Container implements Basi public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.BASIC_TYPES__BASIC_TYPE: - getBasicType().clear(); + unsetBasicType(); + return; + case NsdPackage.BASIC_TYPES__NS: + setNS( ( NS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +273,9 @@ public class BasicTypesImpl extends MinimalEObjectImpl.Container implements Basi public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.BASIC_TYPES__BASIC_TYPE: - return basicType != null && !basicType.isEmpty(); + return isSetBasicType(); + case NsdPackage.BASIC_TYPES__NS: + return getNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCImpl.java index 517c5e9..389b0af 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCImpl.java @@ -20,6 +20,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter; @@ -36,8 +37,8 @@ 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.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -56,6 +57,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl#isStatistics <em>Statistics</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl#isTypeKindParameterized <em>Type Kind Parameterized</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl#getVariant <em>Variant</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl#getCDCs <em>CD Cs</em>}</li> * </ul> * * @generated @@ -91,6 +93,15 @@ public class CDCImpl extends TitledClassImpl implements CDC { */ protected ServiceParameter serviceParameter; + /** + * This is true if the Service Parameter containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean serviceParameterESet; + /** * The default value of the '{@link #isEnumParameterized() <em>Enum Parameterized</em>}' attribute. * <!-- begin-user-doc --> @@ -140,6 +151,15 @@ public class CDCImpl extends TitledClassImpl implements CDC { */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #isStatistics() <em>Statistics</em>}' attribute. * <!-- begin-user-doc --> @@ -218,6 +238,15 @@ public class CDCImpl extends TitledClassImpl implements CDC { */ protected String variant = VARIANT_EDEFAULT; + /** + * This is true if the Variant attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean variantESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -245,12 +274,32 @@ public class CDCImpl extends TitledClassImpl implements CDC { @Override public EList< SubDataObject > getSubDataObject() { if( subDataObject == null ) { - subDataObject = new EObjectContainmentEList< SubDataObject >( SubDataObject.class, this, - NsdPackage.CDC__SUB_DATA_OBJECT ); + subDataObject = new EObjectContainmentWithInverseEList.Unsettable< SubDataObject >( SubDataObject.class, + this, NsdPackage.CDC__SUB_DATA_OBJECT, NsdPackage.SUB_DATA_OBJECT__CDC ); } return subDataObject; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetSubDataObject() { + if( subDataObject != null ) ( ( InternalEList.Unsettable< ? > ) subDataObject ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetSubDataObject() { + return subDataObject != null && ( ( InternalEList.Unsettable< ? > ) subDataObject ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -259,12 +308,32 @@ public class CDCImpl extends TitledClassImpl implements CDC { @Override public EList< DataAttribute > getDataAttribute() { if( dataAttribute == null ) { - dataAttribute = new EObjectContainmentEList< DataAttribute >( DataAttribute.class, this, - NsdPackage.CDC__DATA_ATTRIBUTE ); + dataAttribute = new EObjectContainmentWithInverseEList.Unsettable< DataAttribute >( DataAttribute.class, + this, NsdPackage.CDC__DATA_ATTRIBUTE, NsdPackage.DATA_ATTRIBUTE__CDC ); } return dataAttribute; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDataAttribute() { + if( dataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) dataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDataAttribute() { + return dataAttribute != null && ( ( InternalEList.Unsettable< ? > ) dataAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -283,9 +352,12 @@ public class CDCImpl extends TitledClassImpl implements CDC { public NotificationChain basicSetServiceParameter( ServiceParameter newServiceParameter, NotificationChain msgs ) { ServiceParameter oldServiceParameter = serviceParameter; serviceParameter = newServiceParameter; + boolean oldServiceParameterESet = serviceParameterESet; + serviceParameterESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.CDC__SERVICE_PARAMETER, oldServiceParameter, newServiceParameter ); + NsdPackage.CDC__SERVICE_PARAMETER, oldServiceParameter, newServiceParameter, + !oldServiceParameterESet ); if( msgs == null ) msgs = notification; else @@ -304,14 +376,72 @@ public class CDCImpl extends TitledClassImpl implements CDC { if( newServiceParameter != serviceParameter ) { NotificationChain msgs = null; if( serviceParameter != null ) msgs = ( ( InternalEObject ) serviceParameter ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.CDC__SERVICE_PARAMETER, null, msgs ); + NsdPackage.SERVICE_PARAMETER__CDC, ServiceParameter.class, msgs ); if( newServiceParameter != null ) msgs = ( ( InternalEObject ) newServiceParameter ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.CDC__SERVICE_PARAMETER, null, msgs ); + NsdPackage.SERVICE_PARAMETER__CDC, ServiceParameter.class, msgs ); msgs = basicSetServiceParameter( newServiceParameter, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.CDC__SERVICE_PARAMETER, newServiceParameter, newServiceParameter ) ); + else { + boolean oldServiceParameterESet = serviceParameterESet; + serviceParameterESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__SERVICE_PARAMETER, + newServiceParameter, newServiceParameter, !oldServiceParameterESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetServiceParameter( NotificationChain msgs ) { + ServiceParameter oldServiceParameter = serviceParameter; + serviceParameter = null; + boolean oldServiceParameterESet = serviceParameterESet; + serviceParameterESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.CDC__SERVICE_PARAMETER, oldServiceParameter, null, oldServiceParameterESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceParameter() { + if( serviceParameter != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) serviceParameter ).eInverseRemove( this, NsdPackage.SERVICE_PARAMETER__CDC, + ServiceParameter.class, msgs ); + msgs = basicUnsetServiceParameter( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldServiceParameterESet = serviceParameterESet; + serviceParameterESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.CDC__SERVICE_PARAMETER, null, null, oldServiceParameterESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceParameter() { + return serviceParameterESet; } /** @@ -385,8 +515,35 @@ public class CDCImpl extends TitledClassImpl implements CDC { public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.CDC__NAME, + oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -510,8 +667,103 @@ public class CDCImpl extends TitledClassImpl implements CDC { public void setVariant( String newVariant ) { String oldVariant = variant; variant = newVariant; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__VARIANT, oldVariant, variant ) ); + boolean oldVariantESet = variantESet; + variantESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__VARIANT, + oldVariant, variant, !oldVariantESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetVariant() { + String oldVariant = variant; + boolean oldVariantESet = variantESet; + variant = VARIANT_EDEFAULT; + variantESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.CDC__VARIANT, + oldVariant, VARIANT_EDEFAULT, oldVariantESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetVariant() { + return variantESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CDCs getCDCs() { + if( eContainerFeatureID() != NsdPackage.CDC__CD_CS ) return null; + return ( CDCs ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCDCs( CDCs newCDCs, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCDCs, NsdPackage.CDC__CD_CS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCDCs( CDCs newCDCs ) { + if( newCDCs != eInternalContainer() || ( eContainerFeatureID() != NsdPackage.CDC__CD_CS && newCDCs != null ) ) { + if( EcoreUtil.isAncestor( this, newCDCs ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCDCs != null ) + msgs = ( ( InternalEObject ) newCDCs ).eInverseAdd( this, NsdPackage.CD_CS__CDC, CDCs.class, msgs ); + msgs = basicSetCDCs( newCDCs, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__CD_CS, newCDCs, newCDCs ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.CDC__SUB_DATA_OBJECT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getSubDataObject() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.CDC__DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getDataAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.CDC__SERVICE_PARAMETER: + if( serviceParameter != null ) msgs = ( ( InternalEObject ) serviceParameter ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.CDC__SERVICE_PARAMETER, null, msgs ); + return basicSetServiceParameter( ( ServiceParameter ) otherEnd, msgs ); + case NsdPackage.CDC__CD_CS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCDCs( ( CDCs ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -527,11 +779,27 @@ public class CDCImpl extends TitledClassImpl implements CDC { case NsdPackage.CDC__DATA_ATTRIBUTE: return ( ( InternalEList< ? > ) getDataAttribute() ).basicRemove( otherEnd, msgs ); case NsdPackage.CDC__SERVICE_PARAMETER: - return basicSetServiceParameter( null, msgs ); + return basicUnsetServiceParameter( msgs ); + case NsdPackage.CDC__CD_CS: + return basicSetCDCs( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.CDC__CD_CS: + return eInternalContainer().eInverseRemove( this, NsdPackage.CD_CS__CDC, CDCs.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -556,6 +824,8 @@ public class CDCImpl extends TitledClassImpl implements CDC { return isTypeKindParameterized(); case NsdPackage.CDC__VARIANT: return getVariant(); + case NsdPackage.CDC__CD_CS: + return getCDCs(); } return super.eGet( featureID, resolve, coreType ); } @@ -595,6 +865,9 @@ public class CDCImpl extends TitledClassImpl implements CDC { case NsdPackage.CDC__VARIANT: setVariant( ( String ) newValue ); return; + case NsdPackage.CDC__CD_CS: + setCDCs( ( CDCs ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -608,19 +881,19 @@ public class CDCImpl extends TitledClassImpl implements CDC { public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.CDC__SUB_DATA_OBJECT: - getSubDataObject().clear(); + unsetSubDataObject(); return; case NsdPackage.CDC__DATA_ATTRIBUTE: - getDataAttribute().clear(); + unsetDataAttribute(); return; case NsdPackage.CDC__SERVICE_PARAMETER: - setServiceParameter( ( ServiceParameter ) null ); + unsetServiceParameter(); return; case NsdPackage.CDC__ENUM_PARAMETERIZED: unsetEnumParameterized(); return; case NsdPackage.CDC__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.CDC__STATISTICS: unsetStatistics(); @@ -629,7 +902,10 @@ public class CDCImpl extends TitledClassImpl implements CDC { unsetTypeKindParameterized(); return; case NsdPackage.CDC__VARIANT: - setVariant( VARIANT_EDEFAULT ); + unsetVariant(); + return; + case NsdPackage.CDC__CD_CS: + setCDCs( ( CDCs ) null ); return; } super.eUnset( featureID ); @@ -644,21 +920,23 @@ public class CDCImpl extends TitledClassImpl implements CDC { public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.CDC__SUB_DATA_OBJECT: - return subDataObject != null && !subDataObject.isEmpty(); + return isSetSubDataObject(); case NsdPackage.CDC__DATA_ATTRIBUTE: - return dataAttribute != null && !dataAttribute.isEmpty(); + return isSetDataAttribute(); case NsdPackage.CDC__SERVICE_PARAMETER: - return serviceParameter != null; + return isSetServiceParameter(); case NsdPackage.CDC__ENUM_PARAMETERIZED: return isSetEnumParameterized(); case NsdPackage.CDC__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.CDC__STATISTICS: return isSetStatistics(); case NsdPackage.CDC__TYPE_KIND_PARAMETERIZED: return isSetTypeKindParameterized(); case NsdPackage.CDC__VARIANT: - return VARIANT_EDEFAULT == null ? variant != null : !VARIANT_EDEFAULT.equals( variant ); + return isSetVariant(); + case NsdPackage.CDC__CD_CS: + return getCDCs() != null; } return super.eIsSet( featureID ); } @@ -679,7 +957,10 @@ public class CDCImpl extends TitledClassImpl implements CDC { else result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", statistics: " ); if( statisticsESet ) result.append( statistics ); @@ -691,7 +972,10 @@ public class CDCImpl extends TitledClassImpl implements CDC { else result.append( "<unset>" ); result.append( ", variant: " ); - result.append( variant ); + if( variantESet ) + result.append( variant ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCsImpl.java index b7ff1ef..07e2836 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CDCsImpl.java @@ -21,10 +21,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCsImpl#getCDC <em>CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCsImpl#getNS <em>NS</em>}</li> * </ul> * * @generated @@ -88,11 +92,92 @@ public class CDCsImpl extends MinimalEObjectImpl.Container implements CDCs { @Override public EList< CDC > getCDC() { if( cDC == null ) { - cDC = new EObjectContainmentEList< CDC >( CDC.class, this, NsdPackage.CD_CS__CDC ); + cDC = new EObjectContainmentWithInverseEList.Unsettable< CDC >( CDC.class, this, NsdPackage.CD_CS__CDC, + NsdPackage.CDC__CD_CS ); } return cDC; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetCDC() { + if( cDC != null ) ( ( InternalEList.Unsettable< ? > ) cDC ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetCDC() { + return cDC != null && ( ( InternalEList.Unsettable< ? > ) cDC ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.CD_CS__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.CD_CS__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() || ( eContainerFeatureID() != NsdPackage.CD_CS__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__CD_CS, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CD_CS__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.CD_CS__CDC: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getCDC() ).basicAdd( otherEnd, msgs ); + case NsdPackage.CD_CS__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -103,10 +188,26 @@ public class CDCsImpl extends MinimalEObjectImpl.Container implements CDCs { switch( featureID ) { case NsdPackage.CD_CS__CDC: return ( ( InternalEList< ? > ) getCDC() ).basicRemove( otherEnd, msgs ); + case NsdPackage.CD_CS__NS: + return basicSetNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.CD_CS__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__CD_CS, NS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -117,6 +218,8 @@ public class CDCsImpl extends MinimalEObjectImpl.Container implements CDCs { switch( featureID ) { case NsdPackage.CD_CS__CDC: return getCDC(); + case NsdPackage.CD_CS__NS: + return getNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -134,6 +237,9 @@ public class CDCsImpl extends MinimalEObjectImpl.Container implements CDCs { getCDC().clear(); getCDC().addAll( ( Collection< ? extends CDC > ) newValue ); return; + case NsdPackage.CD_CS__NS: + setNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -147,7 +253,10 @@ public class CDCsImpl extends MinimalEObjectImpl.Container implements CDCs { public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.CD_CS__CDC: - getCDC().clear(); + unsetCDC(); + return; + case NsdPackage.CD_CS__NS: + setNS( ( NS ) null ); return; } super.eUnset( featureID ); @@ -162,7 +271,9 @@ public class CDCsImpl extends MinimalEObjectImpl.Container implements CDCs { public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.CD_CS__CDC: - return cDC != null && !cDC.isEmpty(); + return isSetCDC(); + case NsdPackage.CD_CS__NS: + return getNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java index 5da44d4..6981951 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ChangesImpl.java @@ -20,15 +20,20 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; import javax.xml.datatype.XMLGregorianCalendar; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -42,6 +47,8 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ChangesImpl#getDate <em>Date</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ChangesImpl#getRevision <em>Revision</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ChangesImpl#getTissues <em>Tissues</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ChangesImpl#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ChangesImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -67,6 +74,15 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C */ protected String changesID = CHANGES_ID_EDEFAULT; + /** + * This is true if the Changes ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean changesIDESet; + /** * The default value of the '{@link #getDate() <em>Date</em>}' attribute. * <!-- begin-user-doc --> @@ -87,6 +103,15 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C */ protected XMLGregorianCalendar date = DATE_EDEFAULT; + /** + * This is true if the Date attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean dateESet; + /** * The default value of the '{@link #getRevision() <em>Revision</em>}' attribute. * <!-- begin-user-doc --> @@ -136,6 +161,15 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C */ protected String tissues = TISSUES_EDEFAULT; + /** + * This is true if the Tissues attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean tissuesESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -174,8 +208,35 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C public void setChangesID( String newChangesID ) { String oldChangesID = changesID; changesID = newChangesID; + boolean oldChangesIDESet = changesIDESet; + changesIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.CHANGES__CHANGES_ID, oldChangesID, changesID ) ); + NsdPackage.CHANGES__CHANGES_ID, oldChangesID, changesID, !oldChangesIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetChangesID() { + String oldChangesID = changesID; + boolean oldChangesIDESet = changesIDESet; + changesID = CHANGES_ID_EDEFAULT; + changesIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.CHANGES__CHANGES_ID, oldChangesID, CHANGES_ID_EDEFAULT, oldChangesIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetChangesID() { + return changesIDESet; } /** @@ -197,8 +258,35 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C public void setDate( XMLGregorianCalendar newDate ) { XMLGregorianCalendar oldDate = date; date = newDate; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CHANGES__DATE, oldDate, date ) ); + boolean oldDateESet = dateESet; + dateESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CHANGES__DATE, + oldDate, date, !oldDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDate() { + XMLGregorianCalendar oldDate = date; + boolean oldDateESet = dateESet; + date = DATE_EDEFAULT; + dateESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.CHANGES__DATE, oldDate, DATE_EDEFAULT, oldDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDate() { + return dateESet; } /** @@ -270,8 +358,170 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C public void setTissues( String newTissues ) { String oldTissues = tissues; tissues = newTissues; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.CHANGES__TISSUES, oldTissues, tissues ) ); + boolean oldTissuesESet = tissuesESet; + tissuesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.CHANGES__TISSUES, oldTissues, tissues, !oldTissuesESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetTissues() { + String oldTissues = tissues; + boolean oldTissuesESet = tissuesESet; + tissues = TISSUES_EDEFAULT; + tissuesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.CHANGES__TISSUES, oldTissues, TISSUES_EDEFAULT, oldTissuesESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetTissues() { + return tissuesESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.CHANGES__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.CHANGES__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() || ( eContainerFeatureID() != NsdPackage.CHANGES__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__CHANGES, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CHANGES__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.CHANGES__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, NsdPackage.CHANGES__SERVICE_NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.CHANGES__SERVICE_NS && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__CHANGES, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.CHANGES__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.CHANGES__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + case NsdPackage.CHANGES__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) 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 NsdPackage.CHANGES__NS: + return basicSetNS( null, msgs ); + case NsdPackage.CHANGES__SERVICE_NS: + return basicSetServiceNS( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.CHANGES__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__CHANGES, NS.class, msgs ); + case NsdPackage.CHANGES__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__CHANGES, ServiceNS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -290,6 +540,10 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C return getRevision(); case NsdPackage.CHANGES__TISSUES: return getTissues(); + case NsdPackage.CHANGES__NS: + return getNS(); + case NsdPackage.CHANGES__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -314,6 +568,12 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C case NsdPackage.CHANGES__TISSUES: setTissues( ( String ) newValue ); return; + case NsdPackage.CHANGES__NS: + setNS( ( NS ) newValue ); + return; + case NsdPackage.CHANGES__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -327,16 +587,22 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.CHANGES__CHANGES_ID: - setChangesID( CHANGES_ID_EDEFAULT ); + unsetChangesID(); return; case NsdPackage.CHANGES__DATE: - setDate( DATE_EDEFAULT ); + unsetDate(); return; case NsdPackage.CHANGES__REVISION: unsetRevision(); return; case NsdPackage.CHANGES__TISSUES: - setTissues( TISSUES_EDEFAULT ); + unsetTissues(); + return; + case NsdPackage.CHANGES__NS: + setNS( ( NS ) null ); + return; + case NsdPackage.CHANGES__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -351,13 +617,17 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.CHANGES__CHANGES_ID: - return CHANGES_ID_EDEFAULT == null ? changesID != null : !CHANGES_ID_EDEFAULT.equals( changesID ); + return isSetChangesID(); case NsdPackage.CHANGES__DATE: - return DATE_EDEFAULT == null ? date != null : !DATE_EDEFAULT.equals( date ); + return isSetDate(); case NsdPackage.CHANGES__REVISION: return isSetRevision(); case NsdPackage.CHANGES__TISSUES: - return TISSUES_EDEFAULT == null ? tissues != null : !TISSUES_EDEFAULT.equals( tissues ); + return isSetTissues(); + case NsdPackage.CHANGES__NS: + return getNS() != null; + case NsdPackage.CHANGES__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } @@ -373,16 +643,25 @@ public class ChangesImpl extends NSDObjectWithVersionAndReleaseImpl implements C StringBuilder result = new StringBuilder( super.toString() ); result.append( " (changesID: " ); - result.append( changesID ); + if( changesIDESet ) + result.append( changesID ); + else + result.append( "<unset>" ); result.append( ", date: " ); - result.append( date ); + if( dateESet ) + result.append( date ); + else + result.append( "<unset>" ); result.append( ", revision: " ); if( revisionESet ) result.append( revision ); else result.append( "<unset>" ); result.append( ", tissues: " ); - result.append( tissues ); + if( tissuesESet ) + result.append( tissues ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java index fefd231..a661954 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributeImpl.java @@ -20,7 +20,9 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute; import java.util.Collection; @@ -34,8 +36,8 @@ 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.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -48,6 +50,8 @@ import org.eclipse.emf.ecore.util.InternalEList; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getSubDataAttribute <em>Sub Data Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getConstructedAttributes <em>Constructed Attributes</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getServiceTypeRealizations <em>Service Type Realizations</em>}</li> * </ul> * * @generated @@ -83,6 +87,15 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -110,12 +123,33 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru @Override public EList< SubDataAttribute > getSubDataAttribute() { if( subDataAttribute == null ) { - subDataAttribute = new EObjectContainmentEList< SubDataAttribute >( SubDataAttribute.class, this, - NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE ); + subDataAttribute = new EObjectContainmentWithInverseEList.Unsettable< SubDataAttribute >( + SubDataAttribute.class, this, NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE, + NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE ); } return subDataAttribute; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetSubDataAttribute() { + if( subDataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) subDataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetSubDataAttribute() { + return subDataAttribute != null && ( ( InternalEList.Unsettable< ? > ) subDataAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -135,8 +169,154 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru public void setName( String newName ) { String oldName = name; name = newName; + boolean oldNameESet = nameESet; + nameESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME, oldName, name ) ); + NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ConstructedAttributes getConstructedAttributes() { + if( eContainerFeatureID() != NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES ) return null; + return ( ConstructedAttributes ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetConstructedAttributes( ConstructedAttributes newConstructedAttributes, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newConstructedAttributes, + NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setConstructedAttributes( ConstructedAttributes newConstructedAttributes ) { + if( newConstructedAttributes != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES + && newConstructedAttributes != null ) ) { + if( EcoreUtil.isAncestor( this, newConstructedAttributes ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newConstructedAttributes != null ) + msgs = ( ( InternalEObject ) newConstructedAttributes ).eInverseAdd( this, + NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE, ConstructedAttributes.class, msgs ); + msgs = basicSetConstructedAttributes( newConstructedAttributes, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES, + newConstructedAttributes, newConstructedAttributes ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceTypeRealizations getServiceTypeRealizations() { + if( eContainerFeatureID() != NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS ) return null; + return ( ServiceTypeRealizations ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceTypeRealizations( ServiceTypeRealizations newServiceTypeRealizations, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceTypeRealizations, + NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceTypeRealizations( ServiceTypeRealizations newServiceTypeRealizations ) { + if( newServiceTypeRealizations != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS + && newServiceTypeRealizations != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceTypeRealizations ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceTypeRealizations != null ) + msgs = ( ( InternalEObject ) newServiceTypeRealizations ).eInverseAdd( this, + NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION, ServiceTypeRealizations.class, + msgs ); + msgs = basicSetServiceTypeRealizations( newServiceTypeRealizations, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS, newServiceTypeRealizations, + newServiceTypeRealizations ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getSubDataAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetConstructedAttributes( ( ConstructedAttributes ) otherEnd, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceTypeRealizations( ( ServiceTypeRealizations ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -149,10 +329,33 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE: return ( ( InternalEList< ? > ) getSubDataAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + return basicSetConstructedAttributes( null, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + return basicSetServiceTypeRealizations( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + return eInternalContainer().eInverseRemove( this, NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE, + ConstructedAttributes.class, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + return eInternalContainer().eInverseRemove( this, + NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION, ServiceTypeRealizations.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -165,6 +368,10 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru return getSubDataAttribute(); case NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME: return getName(); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + return getConstructedAttributes(); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + return getServiceTypeRealizations(); } return super.eGet( featureID, resolve, coreType ); } @@ -185,6 +392,12 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru case NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME: setName( ( String ) newValue ); return; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + setConstructedAttributes( ( ConstructedAttributes ) newValue ); + return; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + setServiceTypeRealizations( ( ServiceTypeRealizations ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -198,10 +411,16 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE: - getSubDataAttribute().clear(); + unsetSubDataAttribute(); return; case NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + setConstructedAttributes( ( ConstructedAttributes ) null ); + return; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + setServiceTypeRealizations( ( ServiceTypeRealizations ) null ); return; } super.eUnset( featureID ); @@ -216,9 +435,13 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE: - return subDataAttribute != null && !subDataAttribute.isEmpty(); + return isSetSubDataAttribute(); case NsdPackage.CONSTRUCTED_ATTRIBUTE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES: + return getConstructedAttributes() != null; + case NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS: + return getServiceTypeRealizations() != null; } return super.eIsSet( featureID ); } @@ -234,7 +457,10 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru StringBuilder result = new StringBuilder( super.toString() ); result.append( " (name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributesImpl.java index 0772915..b3a60f2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributesImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ConstructedAttributesImpl.java @@ -21,10 +21,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributesImpl#getConstructedAttribute <em>Constructed Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributesImpl#getNS <em>NS</em>}</li> * </ul> * * @generated @@ -88,12 +92,95 @@ public class ConstructedAttributesImpl extends MinimalEObjectImpl.Container impl @Override public EList< ConstructedAttribute > getConstructedAttribute() { if( constructedAttribute == null ) { - constructedAttribute = new EObjectContainmentEList< ConstructedAttribute >( ConstructedAttribute.class, - this, NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE ); + constructedAttribute = new EObjectContainmentWithInverseEList.Unsettable< ConstructedAttribute >( + ConstructedAttribute.class, this, NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE, + NsdPackage.CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES ); } return constructedAttribute; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetConstructedAttribute() { + if( constructedAttribute != null ) ( ( InternalEList.Unsettable< ? > ) constructedAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetConstructedAttribute() { + return constructedAttribute != null && ( ( InternalEList.Unsettable< ? > ) constructedAttribute ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.CONSTRUCTED_ATTRIBUTES__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.CONSTRUCTED_ATTRIBUTES__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.CONSTRUCTED_ATTRIBUTES__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, + NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.CONSTRUCTED_ATTRIBUTES__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getConstructedAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +191,26 @@ public class ConstructedAttributesImpl extends MinimalEObjectImpl.Container impl switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE: return ( ( InternalEList< ? > ) getConstructedAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + return basicSetNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, NS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +221,8 @@ public class ConstructedAttributesImpl extends MinimalEObjectImpl.Container impl switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE: return getConstructedAttribute(); + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + return getNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +240,9 @@ public class ConstructedAttributesImpl extends MinimalEObjectImpl.Container impl getConstructedAttribute().clear(); getConstructedAttribute().addAll( ( Collection< ? extends ConstructedAttribute > ) newValue ); return; + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + setNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +256,10 @@ public class ConstructedAttributesImpl extends MinimalEObjectImpl.Container impl public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE: - getConstructedAttribute().clear(); + unsetConstructedAttribute(); + return; + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + setNS( ( NS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +274,9 @@ public class ConstructedAttributesImpl extends MinimalEObjectImpl.Container impl public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE: - return constructedAttribute != null && !constructedAttribute.isEmpty(); + return isSetConstructedAttribute(); + case NsdPackage.CONSTRUCTED_ATTRIBUTES__NS: + return getNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightNoticeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightNoticeImpl.java index c98b424..ebaa5d9 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightNoticeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightNoticeImpl.java @@ -20,6 +20,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Copyrighted; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.License; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; @@ -32,6 +33,7 @@ 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; /** * <!-- begin-user-doc --> @@ -43,6 +45,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CopyrightNoticeImpl#getNotice <em>Notice</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CopyrightNoticeImpl#getLicense <em>License</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CopyrightNoticeImpl#getCopyrighted <em>Copyrighted</em>}</li> * </ul> * * @generated @@ -58,6 +61,15 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements */ protected Notice notice; + /** + * This is true if the Notice containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean noticeESet; + /** * The cached value of the '{@link #getLicense() <em>License</em>}' containment reference. * <!-- begin-user-doc --> @@ -68,6 +80,15 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements */ protected License license; + /** + * This is true if the License containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean licenseESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -105,9 +126,11 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements public NotificationChain basicSetNotice( Notice newNotice, NotificationChain msgs ) { Notice oldNotice = notice; notice = newNotice; + boolean oldNoticeESet = noticeESet; + noticeESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.COPYRIGHT_NOTICE__NOTICE, oldNotice, newNotice ); + NsdPackage.COPYRIGHT_NOTICE__NOTICE, oldNotice, newNotice, !oldNoticeESet ); if( msgs == null ) msgs = notification; else @@ -126,14 +149,71 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements if( newNotice != notice ) { NotificationChain msgs = null; if( notice != null ) msgs = ( ( InternalEObject ) notice ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHT_NOTICE__NOTICE, null, msgs ); + NsdPackage.NOTICE__COPYRIGHT_NOTICE, Notice.class, msgs ); if( newNotice != null ) msgs = ( ( InternalEObject ) newNotice ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHT_NOTICE__NOTICE, null, msgs ); + NsdPackage.NOTICE__COPYRIGHT_NOTICE, Notice.class, msgs ); msgs = basicSetNotice( newNotice, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.COPYRIGHT_NOTICE__NOTICE, newNotice, newNotice ) ); + else { + boolean oldNoticeESet = noticeESet; + noticeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.COPYRIGHT_NOTICE__NOTICE, newNotice, newNotice, !oldNoticeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetNotice( NotificationChain msgs ) { + Notice oldNotice = notice; + notice = null; + boolean oldNoticeESet = noticeESet; + noticeESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.COPYRIGHT_NOTICE__NOTICE, oldNotice, null, oldNoticeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetNotice() { + if( notice != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) notice ).eInverseRemove( this, NsdPackage.NOTICE__COPYRIGHT_NOTICE, + Notice.class, msgs ); + msgs = basicUnsetNotice( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldNoticeESet = noticeESet; + noticeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.COPYRIGHT_NOTICE__NOTICE, null, null, oldNoticeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetNotice() { + return noticeESet; } /** @@ -154,9 +234,11 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements public NotificationChain basicSetLicense( License newLicense, NotificationChain msgs ) { License oldLicense = license; license = newLicense; + boolean oldLicenseESet = licenseESet; + licenseESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.COPYRIGHT_NOTICE__LICENSE, oldLicense, newLicense ); + NsdPackage.COPYRIGHT_NOTICE__LICENSE, oldLicense, newLicense, !oldLicenseESet ); if( msgs == null ) msgs = notification; else @@ -175,14 +257,137 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements if( newLicense != license ) { NotificationChain msgs = null; if( license != null ) msgs = ( ( InternalEObject ) license ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHT_NOTICE__LICENSE, null, msgs ); + NsdPackage.LICENSE__COPYRIGHT_NOTICE, License.class, msgs ); if( newLicense != null ) msgs = ( ( InternalEObject ) newLicense ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHT_NOTICE__LICENSE, null, msgs ); + NsdPackage.LICENSE__COPYRIGHT_NOTICE, License.class, msgs ); msgs = basicSetLicense( newLicense, msgs ); if( msgs != null ) msgs.dispatch(); } + else { + boolean oldLicenseESet = licenseESet; + licenseESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.COPYRIGHT_NOTICE__LICENSE, newLicense, newLicense, !oldLicenseESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetLicense( NotificationChain msgs ) { + License oldLicense = license; + license = null; + boolean oldLicenseESet = licenseESet; + licenseESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.COPYRIGHT_NOTICE__LICENSE, oldLicense, null, oldLicenseESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetLicense() { + if( license != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) license ).eInverseRemove( this, NsdPackage.LICENSE__COPYRIGHT_NOTICE, + License.class, msgs ); + msgs = basicUnsetLicense( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldLicenseESet = licenseESet; + licenseESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.COPYRIGHT_NOTICE__LICENSE, null, null, oldLicenseESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetLicense() { + return licenseESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Copyrighted getCopyrighted() { + if( eContainerFeatureID() != NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED ) return null; + return ( Copyrighted ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCopyrighted( Copyrighted newCopyrighted, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCopyrighted, NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCopyrighted( Copyrighted newCopyrighted ) { + if( newCopyrighted != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED && newCopyrighted != null ) ) { + if( EcoreUtil.isAncestor( this, newCopyrighted ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCopyrighted != null ) msgs = ( ( InternalEObject ) newCopyrighted ).eInverseAdd( this, + NsdPackage.COPYRIGHTED__COPYRIGHT, Copyrighted.class, msgs ); + msgs = basicSetCopyrighted( newCopyrighted, msgs ); + if( msgs != null ) msgs.dispatch(); + } else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.COPYRIGHT_NOTICE__LICENSE, newLicense, newLicense ) ); + NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED, newCopyrighted, newCopyrighted ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.COPYRIGHT_NOTICE__NOTICE: + if( notice != null ) msgs = ( ( InternalEObject ) notice ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHT_NOTICE__NOTICE, null, msgs ); + return basicSetNotice( ( Notice ) otherEnd, msgs ); + case NsdPackage.COPYRIGHT_NOTICE__LICENSE: + if( license != null ) msgs = ( ( InternalEObject ) license ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHT_NOTICE__LICENSE, null, msgs ); + return basicSetLicense( ( License ) otherEnd, msgs ); + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCopyrighted( ( Copyrighted ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -194,13 +399,30 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements public NotificationChain eInverseRemove( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.COPYRIGHT_NOTICE__NOTICE: - return basicSetNotice( null, msgs ); + return basicUnsetNotice( msgs ); case NsdPackage.COPYRIGHT_NOTICE__LICENSE: - return basicSetLicense( null, msgs ); + return basicUnsetLicense( msgs ); + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + return basicSetCopyrighted( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + return eInternalContainer().eInverseRemove( this, NsdPackage.COPYRIGHTED__COPYRIGHT, Copyrighted.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -213,6 +435,8 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements return getNotice(); case NsdPackage.COPYRIGHT_NOTICE__LICENSE: return getLicense(); + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + return getCopyrighted(); } return super.eGet( featureID, resolve, coreType ); } @@ -231,6 +455,9 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements case NsdPackage.COPYRIGHT_NOTICE__LICENSE: setLicense( ( License ) newValue ); return; + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + setCopyrighted( ( Copyrighted ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -244,10 +471,13 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.COPYRIGHT_NOTICE__NOTICE: - setNotice( ( Notice ) null ); + unsetNotice(); return; case NsdPackage.COPYRIGHT_NOTICE__LICENSE: - setLicense( ( License ) null ); + unsetLicense(); + return; + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + setCopyrighted( ( Copyrighted ) null ); return; } super.eUnset( featureID ); @@ -262,9 +492,11 @@ public class CopyrightNoticeImpl extends MinimalEObjectImpl.Container implements public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.COPYRIGHT_NOTICE__NOTICE: - return notice != null; + return isSetNotice(); case NsdPackage.COPYRIGHT_NOTICE__LICENSE: - return license != null; + return isSetLicense(); + case NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED: + return getCopyrighted() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightedImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightedImpl.java index 8e1ebbc..d1b4ba6 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightedImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/CopyrightedImpl.java @@ -56,6 +56,15 @@ public class CopyrightedImpl extends MinimalEObjectImpl.Container implements Cop */ protected CopyrightNotice copyright; + /** + * This is true if the Copyright containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean copyrightESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -93,9 +102,11 @@ public class CopyrightedImpl extends MinimalEObjectImpl.Container implements Cop public NotificationChain basicSetCopyright( CopyrightNotice newCopyright, NotificationChain msgs ) { CopyrightNotice oldCopyright = copyright; copyright = newCopyright; + boolean oldCopyrightESet = copyrightESet; + copyrightESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.COPYRIGHTED__COPYRIGHT, oldCopyright, newCopyright ); + NsdPackage.COPYRIGHTED__COPYRIGHT, oldCopyright, newCopyright, !oldCopyrightESet ); if( msgs == null ) msgs = notification; else @@ -114,14 +125,87 @@ public class CopyrightedImpl extends MinimalEObjectImpl.Container implements Cop if( newCopyright != copyright ) { NotificationChain msgs = null; if( copyright != null ) msgs = ( ( InternalEObject ) copyright ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHTED__COPYRIGHT, null, msgs ); + NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED, CopyrightNotice.class, msgs ); if( newCopyright != null ) msgs = ( ( InternalEObject ) newCopyright ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHTED__COPYRIGHT, null, msgs ); + NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED, CopyrightNotice.class, msgs ); msgs = basicSetCopyright( newCopyright, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.COPYRIGHTED__COPYRIGHT, newCopyright, newCopyright ) ); + else { + boolean oldCopyrightESet = copyrightESet; + copyrightESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.COPYRIGHTED__COPYRIGHT, newCopyright, newCopyright, !oldCopyrightESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetCopyright( NotificationChain msgs ) { + CopyrightNotice oldCopyright = copyright; + copyright = null; + boolean oldCopyrightESet = copyrightESet; + copyrightESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.COPYRIGHTED__COPYRIGHT, oldCopyright, null, oldCopyrightESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetCopyright() { + if( copyright != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) copyright ).eInverseRemove( this, NsdPackage.COPYRIGHT_NOTICE__COPYRIGHTED, + CopyrightNotice.class, msgs ); + msgs = basicUnsetCopyright( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldCopyrightESet = copyrightESet; + copyrightESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.COPYRIGHTED__COPYRIGHT, null, null, oldCopyrightESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetCopyright() { + return copyrightESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.COPYRIGHTED__COPYRIGHT: + if( copyright != null ) msgs = ( ( InternalEObject ) copyright ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.COPYRIGHTED__COPYRIGHT, null, msgs ); + return basicSetCopyright( ( CopyrightNotice ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -133,7 +217,7 @@ public class CopyrightedImpl extends MinimalEObjectImpl.Container implements Cop public NotificationChain eInverseRemove( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.COPYRIGHTED__COPYRIGHT: - return basicSetCopyright( null, msgs ); + return basicUnsetCopyright( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -176,7 +260,7 @@ public class CopyrightedImpl extends MinimalEObjectImpl.Container implements Cop public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.COPYRIGHTED__COPYRIGHT: - setCopyright( ( CopyrightNotice ) null ); + unsetCopyright(); return; } super.eUnset( featureID ); @@ -191,7 +275,7 @@ public class CopyrightedImpl extends MinimalEObjectImpl.Container implements Cop public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.COPYRIGHTED__COPYRIGHT: - return copyright != null; + return isSetCopyright(); } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java index a11aaf9..aff3388 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataAttributeImpl.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; @@ -27,11 +28,14 @@ import java.math.BigDecimal; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.Enumerator; 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.EcoreUtil; /** * <!-- begin-user-doc --> @@ -58,6 +62,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getSizeAttribute <em>Size Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getTypeKind <em>Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getCDC <em>CDC</em>}</li> * </ul> * * @generated @@ -112,6 +117,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String defaultValue = DEFAULT_VALUE_EDEFAULT; + /** + * This is true if the Default Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean defaultValueESet; + /** * The default value of the '{@link #isDupd() <em>Dupd</em>}' attribute. * <!-- begin-user-doc --> @@ -161,6 +175,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String fc = FC_EDEFAULT; + /** + * This is true if the Fc attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean fcESet; + /** * The default value of the '{@link #isIsArray() <em>Is Array</em>}' attribute. * <!-- begin-user-doc --> @@ -210,6 +233,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String maxIndexAttribute = MAX_INDEX_ATTRIBUTE_EDEFAULT; + /** + * This is true if the Max Index Attribute attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean maxIndexAttributeESet; + /** * The default value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute. * <!-- begin-user-doc --> @@ -230,6 +262,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected BigDecimal maxValue = MAX_VALUE_EDEFAULT; + /** + * This is true if the Max Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean maxValueESet; + /** * The default value of the '{@link #getMinIndex() <em>Min Index</em>}' attribute. * <!-- begin-user-doc --> @@ -279,6 +320,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected BigDecimal minValue = MIN_VALUE_EDEFAULT; + /** + * This is true if the Min Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean minValueESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -299,6 +349,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. * <!-- begin-user-doc --> @@ -348,6 +407,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String presCondArgs = PRES_COND_ARGS_EDEFAULT; + /** + * This is true if the Pres Cond Args attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsESet; + /** * The default value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. * <!-- begin-user-doc --> @@ -368,6 +436,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + /** + * This is true if the Pres Cond Args ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsIDESet; + /** * The default value of the '{@link #isQchg() <em>Qchg</em>}' attribute. * <!-- begin-user-doc --> @@ -417,6 +494,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String sizeAttribute = SIZE_ATTRIBUTE_EDEFAULT; + /** + * This is true if the Size Attribute attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean sizeAttributeESet; + /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> @@ -437,6 +523,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected String type = TYPE_EDEFAULT; + /** + * This is true if the Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean typeESet; + /** * The default value of the '{@link #getTypeKind() <em>Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -555,8 +650,36 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setDefaultValue( String newDefaultValue ) { String oldDefaultValue = defaultValue; defaultValue = newDefaultValue; + boolean oldDefaultValueESet = defaultValueESet; + defaultValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__DEFAULT_VALUE, oldDefaultValue, defaultValue ) ); + NsdPackage.DATA_ATTRIBUTE__DEFAULT_VALUE, oldDefaultValue, defaultValue, !oldDefaultValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDefaultValue() { + String oldDefaultValue = defaultValue; + boolean oldDefaultValueESet = defaultValueESet; + defaultValue = DEFAULT_VALUE_EDEFAULT; + defaultValueESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_ATTRIBUTE__DEFAULT_VALUE, + oldDefaultValue, DEFAULT_VALUE_EDEFAULT, oldDefaultValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDefaultValue() { + return defaultValueESet; } /** @@ -628,8 +751,35 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setFc( String newFc ) { String oldFc = fc; fc = newFc; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__FC, oldFc, fc ) ); + boolean oldFcESet = fcESet; + fcESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__FC, oldFc, fc, !oldFcESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetFc() { + String oldFc = fc; + boolean oldFcESet = fcESet; + fc = FC_EDEFAULT; + fcESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__FC, oldFc, FC_EDEFAULT, oldFcESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetFc() { + return fcESet; } /** @@ -701,8 +851,37 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setMaxIndexAttribute( String newMaxIndexAttribute ) { String oldMaxIndexAttribute = maxIndexAttribute; maxIndexAttribute = newMaxIndexAttribute; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, oldMaxIndexAttribute, maxIndexAttribute ) ); + boolean oldMaxIndexAttributeESet = maxIndexAttributeESet; + maxIndexAttributeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, + oldMaxIndexAttribute, maxIndexAttribute, !oldMaxIndexAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMaxIndexAttribute() { + String oldMaxIndexAttribute = maxIndexAttribute; + boolean oldMaxIndexAttributeESet = maxIndexAttributeESet; + maxIndexAttribute = MAX_INDEX_ATTRIBUTE_EDEFAULT; + maxIndexAttributeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, + oldMaxIndexAttribute, MAX_INDEX_ATTRIBUTE_EDEFAULT, oldMaxIndexAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMaxIndexAttribute() { + return maxIndexAttributeESet; } /** @@ -724,8 +903,35 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setMaxValue( BigDecimal newMaxValue ) { BigDecimal oldMaxValue = maxValue; maxValue = newMaxValue; + boolean oldMaxValueESet = maxValueESet; + maxValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__MAX_VALUE, oldMaxValue, maxValue ) ); + NsdPackage.DATA_ATTRIBUTE__MAX_VALUE, oldMaxValue, maxValue, !oldMaxValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMaxValue() { + BigDecimal oldMaxValue = maxValue; + boolean oldMaxValueESet = maxValueESet; + maxValue = MAX_VALUE_EDEFAULT; + maxValueESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__MAX_VALUE, oldMaxValue, MAX_VALUE_EDEFAULT, oldMaxValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMaxValue() { + return maxValueESet; } /** @@ -797,8 +1003,35 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setMinValue( BigDecimal newMinValue ) { BigDecimal oldMinValue = minValue; minValue = newMinValue; + boolean oldMinValueESet = minValueESet; + minValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__MIN_VALUE, oldMinValue, minValue ) ); + NsdPackage.DATA_ATTRIBUTE__MIN_VALUE, oldMinValue, minValue, !oldMinValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMinValue() { + BigDecimal oldMinValue = minValue; + boolean oldMinValueESet = minValueESet; + minValue = MIN_VALUE_EDEFAULT; + minValueESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__MIN_VALUE, oldMinValue, MIN_VALUE_EDEFAULT, oldMinValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMinValue() { + return minValueESet; } /** @@ -820,8 +1053,35 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -893,8 +1153,36 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setPresCondArgs( String newPresCondArgs ) { String oldPresCondArgs = presCondArgs; presCondArgs = newPresCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgsESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS, oldPresCondArgs, presCondArgs ) ); + NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS, oldPresCondArgs, presCondArgs, !oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgs() { + String oldPresCondArgs = presCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgs = PRES_COND_ARGS_EDEFAULT; + presCondArgsESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS, + oldPresCondArgs, PRES_COND_ARGS_EDEFAULT, oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgs() { + return presCondArgsESet; } /** @@ -916,8 +1204,37 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setPresCondArgsID( String newPresCondArgsID ) { String oldPresCondArgsID = presCondArgsID; presCondArgsID = newPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS_ID, oldPresCondArgsID, presCondArgsID ) ); + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsIDESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS_ID, + oldPresCondArgsID, presCondArgsID, !oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgsID() { + String oldPresCondArgsID = presCondArgsID; + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + presCondArgsIDESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS_ID, + oldPresCondArgsID, PRES_COND_ARGS_ID_EDEFAULT, oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgsID() { + return presCondArgsIDESet; } /** @@ -989,8 +1306,36 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setSizeAttribute( String newSizeAttribute ) { String oldSizeAttribute = sizeAttribute; sizeAttribute = newSizeAttribute; + boolean oldSizeAttributeESet = sizeAttributeESet; + sizeAttributeESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_ATTRIBUTE__SIZE_ATTRIBUTE, oldSizeAttribute, sizeAttribute ) ); + NsdPackage.DATA_ATTRIBUTE__SIZE_ATTRIBUTE, oldSizeAttribute, sizeAttribute, !oldSizeAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetSizeAttribute() { + String oldSizeAttribute = sizeAttribute; + boolean oldSizeAttributeESet = sizeAttributeESet; + sizeAttribute = SIZE_ATTRIBUTE_EDEFAULT; + sizeAttributeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_ATTRIBUTE__SIZE_ATTRIBUTE, + oldSizeAttribute, SIZE_ATTRIBUTE_EDEFAULT, oldSizeAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetSizeAttribute() { + return sizeAttributeESet; } /** @@ -1012,8 +1357,35 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib public void setType( String newType ) { String oldType = type; type = newType; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__TYPE, oldType, type ) ); + boolean oldTypeESet = typeESet; + typeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__TYPE, oldType, type, !oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetType() { + String oldType = type; + boolean oldTypeESet = typeESet; + type = TYPE_EDEFAULT; + typeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetType() { + return typeESet; } /** @@ -1066,6 +1438,92 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return typeKindESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CDC getCDC() { + if( eContainerFeatureID() != NsdPackage.DATA_ATTRIBUTE__CDC ) return null; + return ( CDC ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCDC( CDC newCDC, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCDC, NsdPackage.DATA_ATTRIBUTE__CDC, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCDC( CDC newCDC ) { + if( newCDC != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.DATA_ATTRIBUTE__CDC && newCDC != null ) ) { + if( EcoreUtil.isAncestor( this, newCDC ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCDC != null ) msgs = ( ( InternalEObject ) newCDC ).eInverseAdd( this, + NsdPackage.CDC__DATA_ATTRIBUTE, CDC.class, msgs ); + msgs = basicSetCDC( newCDC, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_ATTRIBUTE__CDC, newCDC, newCDC ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.DATA_ATTRIBUTE__CDC: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCDC( ( CDC ) 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 NsdPackage.DATA_ATTRIBUTE__CDC: + return basicSetCDC( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.DATA_ATTRIBUTE__CDC: + return eInternalContainer().eInverseRemove( this, NsdPackage.CDC__DATA_ATTRIBUTE, CDC.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1108,6 +1566,8 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return getType(); case NsdPackage.DATA_ATTRIBUTE__TYPE_KIND: return getTypeKind(); + case NsdPackage.DATA_ATTRIBUTE__CDC: + return getCDC(); } return super.eGet( featureID, resolve, coreType ); } @@ -1171,6 +1631,9 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__TYPE_KIND: setTypeKind( ( Enumerator ) newValue ); return; + case NsdPackage.DATA_ATTRIBUTE__CDC: + setCDC( ( CDC ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -1187,53 +1650,56 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib unsetDchg(); return; case NsdPackage.DATA_ATTRIBUTE__DEFAULT_VALUE: - setDefaultValue( DEFAULT_VALUE_EDEFAULT ); + unsetDefaultValue(); return; case NsdPackage.DATA_ATTRIBUTE__DUPD: unsetDupd(); return; case NsdPackage.DATA_ATTRIBUTE__FC: - setFc( FC_EDEFAULT ); + unsetFc(); return; case NsdPackage.DATA_ATTRIBUTE__IS_ARRAY: unsetIsArray(); return; case NsdPackage.DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE: - setMaxIndexAttribute( MAX_INDEX_ATTRIBUTE_EDEFAULT ); + unsetMaxIndexAttribute(); return; case NsdPackage.DATA_ATTRIBUTE__MAX_VALUE: - setMaxValue( MAX_VALUE_EDEFAULT ); + unsetMaxValue(); return; case NsdPackage.DATA_ATTRIBUTE__MIN_INDEX: unsetMinIndex(); return; case NsdPackage.DATA_ATTRIBUTE__MIN_VALUE: - setMinValue( MIN_VALUE_EDEFAULT ); + unsetMinValue(); return; case NsdPackage.DATA_ATTRIBUTE__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.DATA_ATTRIBUTE__PRES_COND: unsetPresCond(); return; case NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS: - setPresCondArgs( PRES_COND_ARGS_EDEFAULT ); + unsetPresCondArgs(); return; case NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS_ID: - setPresCondArgsID( PRES_COND_ARGS_ID_EDEFAULT ); + unsetPresCondArgsID(); return; case NsdPackage.DATA_ATTRIBUTE__QCHG: unsetQchg(); return; case NsdPackage.DATA_ATTRIBUTE__SIZE_ATTRIBUTE: - setSizeAttribute( SIZE_ATTRIBUTE_EDEFAULT ); + unsetSizeAttribute(); return; case NsdPackage.DATA_ATTRIBUTE__TYPE: - setType( TYPE_EDEFAULT ); + unsetType(); return; case NsdPackage.DATA_ATTRIBUTE__TYPE_KIND: unsetTypeKind(); return; + case NsdPackage.DATA_ATTRIBUTE__CDC: + setCDC( ( CDC ) null ); + return; } super.eUnset( featureID ); } @@ -1249,42 +1715,39 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__DCHG: return isSetDchg(); case NsdPackage.DATA_ATTRIBUTE__DEFAULT_VALUE: - return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null - : !DEFAULT_VALUE_EDEFAULT.equals( defaultValue ); + return isSetDefaultValue(); case NsdPackage.DATA_ATTRIBUTE__DUPD: return isSetDupd(); case NsdPackage.DATA_ATTRIBUTE__FC: - return FC_EDEFAULT == null ? fc != null : !FC_EDEFAULT.equals( fc ); + return isSetFc(); case NsdPackage.DATA_ATTRIBUTE__IS_ARRAY: return isSetIsArray(); case NsdPackage.DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE: - return MAX_INDEX_ATTRIBUTE_EDEFAULT == null ? maxIndexAttribute != null - : !MAX_INDEX_ATTRIBUTE_EDEFAULT.equals( maxIndexAttribute ); + return isSetMaxIndexAttribute(); case NsdPackage.DATA_ATTRIBUTE__MAX_VALUE: - return MAX_VALUE_EDEFAULT == null ? maxValue != null : !MAX_VALUE_EDEFAULT.equals( maxValue ); + return isSetMaxValue(); case NsdPackage.DATA_ATTRIBUTE__MIN_INDEX: return isSetMinIndex(); case NsdPackage.DATA_ATTRIBUTE__MIN_VALUE: - return MIN_VALUE_EDEFAULT == null ? minValue != null : !MIN_VALUE_EDEFAULT.equals( minValue ); + return isSetMinValue(); case NsdPackage.DATA_ATTRIBUTE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.DATA_ATTRIBUTE__PRES_COND: return isSetPresCond(); case NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS: - return PRES_COND_ARGS_EDEFAULT == null ? presCondArgs != null - : !PRES_COND_ARGS_EDEFAULT.equals( presCondArgs ); + return isSetPresCondArgs(); case NsdPackage.DATA_ATTRIBUTE__PRES_COND_ARGS_ID: - return PRES_COND_ARGS_ID_EDEFAULT == null ? presCondArgsID != null - : !PRES_COND_ARGS_ID_EDEFAULT.equals( presCondArgsID ); + return isSetPresCondArgsID(); case NsdPackage.DATA_ATTRIBUTE__QCHG: return isSetQchg(); case NsdPackage.DATA_ATTRIBUTE__SIZE_ATTRIBUTE: - return SIZE_ATTRIBUTE_EDEFAULT == null ? sizeAttribute != null - : !SIZE_ATTRIBUTE_EDEFAULT.equals( sizeAttribute ); + return isSetSizeAttribute(); case NsdPackage.DATA_ATTRIBUTE__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); + return isSetType(); case NsdPackage.DATA_ATTRIBUTE__TYPE_KIND: return isSetTypeKind(); + case NsdPackage.DATA_ATTRIBUTE__CDC: + return getCDC() != null; } return super.eIsSet( featureID ); } @@ -1305,50 +1768,80 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib else result.append( "<unset>" ); result.append( ", defaultValue: " ); - result.append( defaultValue ); + if( defaultValueESet ) + result.append( defaultValue ); + else + result.append( "<unset>" ); result.append( ", dupd: " ); if( dupdESet ) result.append( dupd ); else result.append( "<unset>" ); result.append( ", fc: " ); - result.append( fc ); + if( fcESet ) + result.append( fc ); + else + result.append( "<unset>" ); result.append( ", isArray: " ); if( isArrayESet ) result.append( isArray ); else result.append( "<unset>" ); result.append( ", maxIndexAttribute: " ); - result.append( maxIndexAttribute ); + if( maxIndexAttributeESet ) + result.append( maxIndexAttribute ); + else + result.append( "<unset>" ); result.append( ", maxValue: " ); - result.append( maxValue ); + if( maxValueESet ) + result.append( maxValue ); + else + result.append( "<unset>" ); result.append( ", minIndex: " ); if( minIndexESet ) result.append( minIndex ); else result.append( "<unset>" ); result.append( ", minValue: " ); - result.append( minValue ); + if( minValueESet ) + result.append( minValue ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", presCond: " ); if( presCondESet ) result.append( presCond ); else result.append( "<unset>" ); result.append( ", presCondArgs: " ); - result.append( presCondArgs ); + if( presCondArgsESet ) + result.append( presCondArgs ); + else + result.append( "<unset>" ); result.append( ", presCondArgsID: " ); - result.append( presCondArgsID ); + if( presCondArgsIDESet ) + result.append( presCondArgsID ); + else + result.append( "<unset>" ); result.append( ", qchg: " ); if( qchgESet ) result.append( qchg ); else result.append( "<unset>" ); result.append( ", sizeAttribute: " ); - result.append( sizeAttribute ); + if( sizeAttributeESet ) + result.append( sizeAttribute ); + else + result.append( "<unset>" ); result.append( ", type: " ); - result.append( type ); + if( typeESet ) + result.append( type ); + else + result.append( "<unset>" ); result.append( ", typeKind: " ); if( typeKindESet ) result.append( typeKind ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataObjectImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataObjectImpl.java index 29900d5..0225757 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataObjectImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataObjectImpl.java @@ -19,15 +19,19 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -48,6 +52,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getUnderlyingType <em>Underlying Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getUnderlyingTypeKind <em>Underlying Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getAnyLNClass <em>Any LN Class</em>}</li> * </ul> * * @generated @@ -102,6 +107,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String dsPresCondArgs = DS_PRES_COND_ARGS_EDEFAULT; + /** + * This is true if the Ds Pres Cond Args attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean dsPresCondArgsESet; + /** * The default value of the '{@link #getDsPresCondArgsID() <em>Ds Pres Cond Args ID</em>}' attribute. * <!-- begin-user-doc --> @@ -122,6 +136,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String dsPresCondArgsID = DS_PRES_COND_ARGS_ID_EDEFAULT; + /** + * This is true if the Ds Pres Cond Args ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean dsPresCondArgsIDESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -142,6 +165,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. * <!-- begin-user-doc --> @@ -191,6 +223,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String presCondArgs = PRES_COND_ARGS_EDEFAULT; + /** + * This is true if the Pres Cond Args attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsESet; + /** * The default value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. * <!-- begin-user-doc --> @@ -211,6 +252,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + /** + * This is true if the Pres Cond Args ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsIDESet; + /** * The default value of the '{@link #isTransient() <em>Transient</em>}' attribute. * <!-- begin-user-doc --> @@ -260,6 +310,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String type = TYPE_EDEFAULT; + /** + * This is true if the Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean typeESet; + /** * The default value of the '{@link #getUnderlyingType() <em>Underlying Type</em>}' attribute. * <!-- begin-user-doc --> @@ -280,6 +339,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected String underlyingType = UNDERLYING_TYPE_EDEFAULT; + /** + * This is true if the Underlying Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean underlyingTypeESet; + /** * The default value of the '{@link #getUnderlyingTypeKind() <em>Underlying Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -397,8 +465,37 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setDsPresCondArgs( String newDsPresCondArgs ) { String oldDsPresCondArgs = dsPresCondArgs; dsPresCondArgs = newDsPresCondArgs; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS, oldDsPresCondArgs, dsPresCondArgs ) ); + boolean oldDsPresCondArgsESet = dsPresCondArgsESet; + dsPresCondArgsESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS, + oldDsPresCondArgs, dsPresCondArgs, !oldDsPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDsPresCondArgs() { + String oldDsPresCondArgs = dsPresCondArgs; + boolean oldDsPresCondArgsESet = dsPresCondArgsESet; + dsPresCondArgs = DS_PRES_COND_ARGS_EDEFAULT; + dsPresCondArgsESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS, + oldDsPresCondArgs, DS_PRES_COND_ARGS_EDEFAULT, oldDsPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDsPresCondArgs() { + return dsPresCondArgsESet; } /** @@ -420,8 +517,37 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setDsPresCondArgsID( String newDsPresCondArgsID ) { String oldDsPresCondArgsID = dsPresCondArgsID; dsPresCondArgsID = newDsPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS_ID, oldDsPresCondArgsID, dsPresCondArgsID ) ); + boolean oldDsPresCondArgsIDESet = dsPresCondArgsIDESet; + dsPresCondArgsIDESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS_ID, + oldDsPresCondArgsID, dsPresCondArgsID, !oldDsPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDsPresCondArgsID() { + String oldDsPresCondArgsID = dsPresCondArgsID; + boolean oldDsPresCondArgsIDESet = dsPresCondArgsIDESet; + dsPresCondArgsID = DS_PRES_COND_ARGS_ID_EDEFAULT; + dsPresCondArgsIDESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS_ID, + oldDsPresCondArgsID, DS_PRES_COND_ARGS_ID_EDEFAULT, oldDsPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDsPresCondArgsID() { + return dsPresCondArgsIDESet; } /** @@ -443,8 +569,35 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_OBJECT__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -516,8 +669,36 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setPresCondArgs( String newPresCondArgs ) { String oldPresCondArgs = presCondArgs; presCondArgs = newPresCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgsESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_OBJECT__PRES_COND_ARGS, oldPresCondArgs, presCondArgs ) ); + NsdPackage.DATA_OBJECT__PRES_COND_ARGS, oldPresCondArgs, presCondArgs, !oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgs() { + String oldPresCondArgs = presCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgs = PRES_COND_ARGS_EDEFAULT; + presCondArgsESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_OBJECT__PRES_COND_ARGS, + oldPresCondArgs, PRES_COND_ARGS_EDEFAULT, oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgs() { + return presCondArgsESet; } /** @@ -539,8 +720,37 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setPresCondArgsID( String newPresCondArgsID ) { String oldPresCondArgsID = presCondArgsID; presCondArgsID = newPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_OBJECT__PRES_COND_ARGS_ID, oldPresCondArgsID, presCondArgsID ) ); + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsIDESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_OBJECT__PRES_COND_ARGS_ID, + oldPresCondArgsID, presCondArgsID, !oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgsID() { + String oldPresCondArgsID = presCondArgsID; + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + presCondArgsIDESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_OBJECT__PRES_COND_ARGS_ID, + oldPresCondArgsID, PRES_COND_ARGS_ID_EDEFAULT, oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgsID() { + return presCondArgsIDESet; } /** @@ -612,8 +822,35 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setType( String newType ) { String oldType = type; type = newType; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DATA_OBJECT__TYPE, oldType, type ) ); + boolean oldTypeESet = typeESet; + typeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__TYPE, oldType, type, !oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetType() { + String oldType = type; + boolean oldTypeESet = typeESet; + type = TYPE_EDEFAULT; + typeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetType() { + return typeESet; } /** @@ -635,8 +872,36 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { public void setUnderlyingType( String newUnderlyingType ) { String oldUnderlyingType = underlyingType; underlyingType = newUnderlyingType; + boolean oldUnderlyingTypeESet = underlyingTypeESet; + underlyingTypeESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DATA_OBJECT__UNDERLYING_TYPE, oldUnderlyingType, underlyingType ) ); + NsdPackage.DATA_OBJECT__UNDERLYING_TYPE, oldUnderlyingType, underlyingType, !oldUnderlyingTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUnderlyingType() { + String oldUnderlyingType = underlyingType; + boolean oldUnderlyingTypeESet = underlyingTypeESet; + underlyingType = UNDERLYING_TYPE_EDEFAULT; + underlyingTypeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DATA_OBJECT__UNDERLYING_TYPE, + oldUnderlyingType, UNDERLYING_TYPE_EDEFAULT, oldUnderlyingTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUnderlyingType() { + return underlyingTypeESet; } /** @@ -691,6 +956,93 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { return underlyingTypeKindESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public AnyLNClass getAnyLNClass() { + if( eContainerFeatureID() != NsdPackage.DATA_OBJECT__ANY_LN_CLASS ) return null; + return ( AnyLNClass ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetAnyLNClass( AnyLNClass newAnyLNClass, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newAnyLNClass, NsdPackage.DATA_OBJECT__ANY_LN_CLASS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setAnyLNClass( AnyLNClass newAnyLNClass ) { + if( newAnyLNClass != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.DATA_OBJECT__ANY_LN_CLASS && newAnyLNClass != null ) ) { + if( EcoreUtil.isAncestor( this, newAnyLNClass ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newAnyLNClass != null ) msgs = ( ( InternalEObject ) newAnyLNClass ).eInverseAdd( this, + NsdPackage.ANY_LN_CLASS__DATA_OBJECT, AnyLNClass.class, msgs ); + msgs = basicSetAnyLNClass( newAnyLNClass, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__ANY_LN_CLASS, newAnyLNClass, newAnyLNClass ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetAnyLNClass( ( AnyLNClass ) 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 NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + return basicSetAnyLNClass( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + return eInternalContainer().eInverseRemove( this, NsdPackage.ANY_LN_CLASS__DATA_OBJECT, AnyLNClass.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -721,6 +1073,8 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { return getUnderlyingType(); case NsdPackage.DATA_OBJECT__UNDERLYING_TYPE_KIND: return getUnderlyingTypeKind(); + case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + return getAnyLNClass(); } return super.eGet( featureID, resolve, coreType ); } @@ -766,6 +1120,9 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { case NsdPackage.DATA_OBJECT__UNDERLYING_TYPE_KIND: setUnderlyingTypeKind( ( DefinedAttributeTypeKind ) newValue ); return; + case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + setAnyLNClass( ( AnyLNClass ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -782,35 +1139,38 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { unsetDsPresCond(); return; case NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS: - setDsPresCondArgs( DS_PRES_COND_ARGS_EDEFAULT ); + unsetDsPresCondArgs(); return; case NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS_ID: - setDsPresCondArgsID( DS_PRES_COND_ARGS_ID_EDEFAULT ); + unsetDsPresCondArgsID(); return; case NsdPackage.DATA_OBJECT__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.DATA_OBJECT__PRES_COND: unsetPresCond(); return; case NsdPackage.DATA_OBJECT__PRES_COND_ARGS: - setPresCondArgs( PRES_COND_ARGS_EDEFAULT ); + unsetPresCondArgs(); return; case NsdPackage.DATA_OBJECT__PRES_COND_ARGS_ID: - setPresCondArgsID( PRES_COND_ARGS_ID_EDEFAULT ); + unsetPresCondArgsID(); return; case NsdPackage.DATA_OBJECT__TRANSIENT: unsetTransient(); return; case NsdPackage.DATA_OBJECT__TYPE: - setType( TYPE_EDEFAULT ); + unsetType(); return; case NsdPackage.DATA_OBJECT__UNDERLYING_TYPE: - setUnderlyingType( UNDERLYING_TYPE_EDEFAULT ); + unsetUnderlyingType(); return; case NsdPackage.DATA_OBJECT__UNDERLYING_TYPE_KIND: unsetUnderlyingTypeKind(); return; + case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + setAnyLNClass( ( AnyLNClass ) null ); + return; } super.eUnset( featureID ); } @@ -826,30 +1186,27 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { case NsdPackage.DATA_OBJECT__DS_PRES_COND: return isSetDsPresCond(); case NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS: - return DS_PRES_COND_ARGS_EDEFAULT == null ? dsPresCondArgs != null - : !DS_PRES_COND_ARGS_EDEFAULT.equals( dsPresCondArgs ); + return isSetDsPresCondArgs(); case NsdPackage.DATA_OBJECT__DS_PRES_COND_ARGS_ID: - return DS_PRES_COND_ARGS_ID_EDEFAULT == null ? dsPresCondArgsID != null - : !DS_PRES_COND_ARGS_ID_EDEFAULT.equals( dsPresCondArgsID ); + return isSetDsPresCondArgsID(); case NsdPackage.DATA_OBJECT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.DATA_OBJECT__PRES_COND: return isSetPresCond(); case NsdPackage.DATA_OBJECT__PRES_COND_ARGS: - return PRES_COND_ARGS_EDEFAULT == null ? presCondArgs != null - : !PRES_COND_ARGS_EDEFAULT.equals( presCondArgs ); + return isSetPresCondArgs(); case NsdPackage.DATA_OBJECT__PRES_COND_ARGS_ID: - return PRES_COND_ARGS_ID_EDEFAULT == null ? presCondArgsID != null - : !PRES_COND_ARGS_ID_EDEFAULT.equals( presCondArgsID ); + return isSetPresCondArgsID(); case NsdPackage.DATA_OBJECT__TRANSIENT: return isSetTransient(); case NsdPackage.DATA_OBJECT__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); + return isSetType(); case NsdPackage.DATA_OBJECT__UNDERLYING_TYPE: - return UNDERLYING_TYPE_EDEFAULT == null ? underlyingType != null - : !UNDERLYING_TYPE_EDEFAULT.equals( underlyingType ); + return isSetUnderlyingType(); case NsdPackage.DATA_OBJECT__UNDERLYING_TYPE_KIND: return isSetUnderlyingTypeKind(); + case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: + return getAnyLNClass() != null; } return super.eIsSet( featureID ); } @@ -870,29 +1227,50 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { else result.append( "<unset>" ); result.append( ", dsPresCondArgs: " ); - result.append( dsPresCondArgs ); + if( dsPresCondArgsESet ) + result.append( dsPresCondArgs ); + else + result.append( "<unset>" ); result.append( ", dsPresCondArgsID: " ); - result.append( dsPresCondArgsID ); + if( dsPresCondArgsIDESet ) + result.append( dsPresCondArgsID ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", presCond: " ); if( presCondESet ) result.append( presCond ); else result.append( "<unset>" ); result.append( ", presCondArgs: " ); - result.append( presCondArgs ); + if( presCondArgsESet ) + result.append( presCondArgs ); + else + result.append( "<unset>" ); result.append( ", presCondArgsID: " ); - result.append( presCondArgsID ); + if( presCondArgsIDESet ) + result.append( presCondArgsID ); + else + result.append( "<unset>" ); result.append( ", transient: " ); if( transientESet ) result.append( transient_ ); else result.append( "<unset>" ); result.append( ", type: " ); - result.append( type ); + if( typeESet ) + result.append( type ); + else + result.append( "<unset>" ); result.append( ", underlyingType: " ); - result.append( underlyingType ); + if( underlyingTypeESet ) + result.append( underlyingType ); + else + result.append( "<unset>" ); result.append( ", underlyingTypeKind: " ); if( underlyingTypeKindESet ) result.append( underlyingTypeKind ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataSetMemberOfImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataSetMemberOfImpl.java index b93c683..2593023 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataSetMemberOfImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DataSetMemberOfImpl.java @@ -19,16 +19,20 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CBKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; /** * <!-- begin-user-doc --> @@ -39,6 +43,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataSetMemberOfImpl#getCb <em>Cb</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataSetMemberOfImpl#getApplicableServices <em>Applicable Services</em>}</li> * </ul> * * @generated @@ -142,6 +147,96 @@ public class DataSetMemberOfImpl extends MinimalEObjectImpl.Container implements return cbESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ApplicableServices getApplicableServices() { + if( eContainerFeatureID() != NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES ) return null; + return ( ApplicableServices ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetApplicableServices( ApplicableServices newApplicableServices, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newApplicableServices, + NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setApplicableServices( ApplicableServices newApplicableServices ) { + if( newApplicableServices != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES + && newApplicableServices != null ) ) { + if( EcoreUtil.isAncestor( this, newApplicableServices ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newApplicableServices != null ) msgs = ( ( InternalEObject ) newApplicableServices ).eInverseAdd( this, + NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF, ApplicableServices.class, msgs ); + msgs = basicSetApplicableServices( newApplicableServices, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES, newApplicableServices, newApplicableServices ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetApplicableServices( ( ApplicableServices ) 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 NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + return basicSetApplicableServices( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + return eInternalContainer().eInverseRemove( this, NsdPackage.APPLICABLE_SERVICES__DATA_SET_MEMBER_OF, + ApplicableServices.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -152,6 +247,8 @@ public class DataSetMemberOfImpl extends MinimalEObjectImpl.Container implements switch( featureID ) { case NsdPackage.DATA_SET_MEMBER_OF__CB: return getCb(); + case NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + return getApplicableServices(); } return super.eGet( featureID, resolve, coreType ); } @@ -167,6 +264,9 @@ public class DataSetMemberOfImpl extends MinimalEObjectImpl.Container implements case NsdPackage.DATA_SET_MEMBER_OF__CB: setCb( ( CBKind ) newValue ); return; + case NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + setApplicableServices( ( ApplicableServices ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -182,6 +282,9 @@ public class DataSetMemberOfImpl extends MinimalEObjectImpl.Container implements case NsdPackage.DATA_SET_MEMBER_OF__CB: unsetCb(); return; + case NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + setApplicableServices( ( ApplicableServices ) null ); + return; } super.eUnset( featureID ); } @@ -196,6 +299,8 @@ public class DataSetMemberOfImpl extends MinimalEObjectImpl.Container implements switch( featureID ) { case NsdPackage.DATA_SET_MEMBER_OF__CB: return isSetCb(); + case NsdPackage.DATA_SET_MEMBER_OF__APPLICABLE_SERVICES: + return getApplicableServices() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java similarity index 60% rename from fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java rename to fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java index d7ac589..da2c099 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnTypeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java @@ -19,32 +19,38 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; 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.util.EcoreUtil; + /** * <!-- begin-user-doc --> - * An implementation of the model object '<em><b>Depends On Type</b></em>'. + * An implementation of the model object '<em><b>Depends On</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * </p> * <ul> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl#getId <em>Id</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl#getPublicationStage <em>Publication Stage</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnTypeImpl#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getId <em>Id</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getPublicationStage <em>Publication Stage</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DependsOnImpl#getNS <em>NS</em>}</li> * </ul> * * @generated */ -public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implements DependsOnType { +public class DependsOnImpl extends NSDObjectWithVersionAndReleaseImpl implements DependsOn { /** * The default value of the '{@link #getId() <em>Id</em>}' attribute. * <!-- begin-user-doc --> @@ -65,6 +71,15 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> @@ -128,7 +143,7 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem * <!-- end-user-doc --> * @generated */ - protected DependsOnTypeImpl() { + protected DependsOnImpl() { super(); } @@ -139,7 +154,7 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem */ @Override protected EClass eStaticClass() { - return NsdPackage.Literals.DEPENDS_ON_TYPE; + return NsdPackage.Literals.DEPENDS_ON; } /** @@ -161,8 +176,35 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem public void setId( String newId ) { String oldId = id; id = newId; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON_TYPE__ID, oldId, id ) ); + boolean oldIdESet = idESet; + idESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DEPENDS_ON__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; } /** @@ -187,7 +229,7 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem boolean oldPublicationStageESet = publicationStageESet; publicationStageESet = true; if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE, + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON__PUBLICATION_STAGE, oldPublicationStage, publicationStage, !oldPublicationStageESet ) ); } @@ -203,7 +245,7 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem publicationStage = PUBLICATION_STAGE_EDEFAULT; publicationStageESet = false; if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE, + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.DEPENDS_ON__PUBLICATION_STAGE, oldPublicationStage, PUBLICATION_STAGE_EDEFAULT, oldPublicationStageESet ) ); } @@ -239,7 +281,7 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem boolean oldRevisionESet = revisionESet; revisionESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DEPENDS_ON_TYPE__REVISION, oldRevision, revision, !oldRevisionESet ) ); + NsdPackage.DEPENDS_ON__REVISION, oldRevision, revision, !oldRevisionESet ) ); } /** @@ -254,7 +296,7 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem revision = REVISION_EDEFAULT; revisionESet = false; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, - NsdPackage.DEPENDS_ON_TYPE__REVISION, oldRevision, REVISION_EDEFAULT, oldRevisionESet ) ); + NsdPackage.DEPENDS_ON__REVISION, oldRevision, REVISION_EDEFAULT, oldRevisionESet ) ); } /** @@ -267,6 +309,91 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem return revisionESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.DEPENDS_ON__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.DEPENDS_ON__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() || ( eContainerFeatureID() != NsdPackage.DEPENDS_ON__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__DEPENDS_ON, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DEPENDS_ON__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.DEPENDS_ON__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) 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 NsdPackage.DEPENDS_ON__NS: + return basicSetNS( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.DEPENDS_ON__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__DEPENDS_ON, NS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -275,12 +402,14 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem @Override public Object eGet( int featureID, boolean resolve, boolean coreType ) { switch( featureID ) { - case NsdPackage.DEPENDS_ON_TYPE__ID: + case NsdPackage.DEPENDS_ON__ID: return getId(); - case NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE: + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: return getPublicationStage(); - case NsdPackage.DEPENDS_ON_TYPE__REVISION: + case NsdPackage.DEPENDS_ON__REVISION: return getRevision(); + case NsdPackage.DEPENDS_ON__NS: + return getNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -293,15 +422,18 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { - case NsdPackage.DEPENDS_ON_TYPE__ID: + case NsdPackage.DEPENDS_ON__ID: setId( ( String ) newValue ); return; - case NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE: + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: setPublicationStage( ( PubStage ) newValue ); return; - case NsdPackage.DEPENDS_ON_TYPE__REVISION: + case NsdPackage.DEPENDS_ON__REVISION: setRevision( ( String ) newValue ); return; + case NsdPackage.DEPENDS_ON__NS: + setNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -314,15 +446,18 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem @Override public void eUnset( int featureID ) { switch( featureID ) { - case NsdPackage.DEPENDS_ON_TYPE__ID: - setId( ID_EDEFAULT ); + case NsdPackage.DEPENDS_ON__ID: + unsetId(); return; - case NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE: + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: unsetPublicationStage(); return; - case NsdPackage.DEPENDS_ON_TYPE__REVISION: + case NsdPackage.DEPENDS_ON__REVISION: unsetRevision(); return; + case NsdPackage.DEPENDS_ON__NS: + setNS( ( NS ) null ); + return; } super.eUnset( featureID ); } @@ -335,12 +470,14 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem @Override public boolean eIsSet( int featureID ) { switch( featureID ) { - case NsdPackage.DEPENDS_ON_TYPE__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); - case NsdPackage.DEPENDS_ON_TYPE__PUBLICATION_STAGE: + case NsdPackage.DEPENDS_ON__ID: + return isSetId(); + case NsdPackage.DEPENDS_ON__PUBLICATION_STAGE: return isSetPublicationStage(); - case NsdPackage.DEPENDS_ON_TYPE__REVISION: + case NsdPackage.DEPENDS_ON__REVISION: return isSetRevision(); + case NsdPackage.DEPENDS_ON__NS: + return getNS() != null; } return super.eIsSet( featureID ); } @@ -356,7 +493,10 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem StringBuilder result = new StringBuilder( super.toString() ); result.append( " (id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ", publicationStage: " ); if( publicationStageESet ) result.append( publicationStage ); @@ -371,4 +511,4 @@ public class DependsOnTypeImpl extends NSDObjectWithVersionAndReleaseImpl implem return result.toString(); } -} //DependsOnTypeImpl +} //DependsOnImpl diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocImpl.java index 4604c9d..d7a4e31 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocImpl.java @@ -20,6 +20,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import org.eclipse.emf.common.notify.Notification; @@ -32,6 +33,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import org.eclipse.emf.ecore.util.BasicFeatureMap; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.FeatureMap; import org.eclipse.emf.ecore.util.InternalEList; @@ -47,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocImpl#getGroup <em>Group</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocImpl#getAny <em>Any</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocImpl#getId <em>Id</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocImpl#getNSDoc <em>NS Doc</em>}</li> * </ul> * * @generated @@ -82,6 +85,15 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -153,8 +165,93 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { public void setId( String newId ) { String oldId = id; id = newId; + boolean oldIdESet = idESet; + idESet = true; if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DOC__ID, oldId, id ) ); + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DOC__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.UNSET, NsdPackage.DOC__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NSDoc getNSDoc() { + if( eContainerFeatureID() != NsdPackage.DOC__NS_DOC ) return null; + return ( NSDoc ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNSDoc( NSDoc newNSDoc, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNSDoc, NsdPackage.DOC__NS_DOC, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNSDoc( NSDoc newNSDoc ) { + if( newNSDoc != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.DOC__NS_DOC && newNSDoc != null ) ) { + if( EcoreUtil.isAncestor( this, newNSDoc ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNSDoc != null ) + msgs = ( ( InternalEObject ) newNSDoc ).eInverseAdd( this, NsdPackage.NS_DOC__DOC, NSDoc.class, msgs ); + msgs = basicSetNSDoc( newNSDoc, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.DOC__NS_DOC, newNSDoc, newNSDoc ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.DOC__NS_DOC: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNSDoc( ( NSDoc ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -171,10 +268,26 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { return ( ( InternalEList< ? > ) getGroup() ).basicRemove( otherEnd, msgs ); case NsdPackage.DOC__ANY: return ( ( InternalEList< ? > ) getAny() ).basicRemove( otherEnd, msgs ); + case NsdPackage.DOC__NS_DOC: + return basicSetNSDoc( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.DOC__NS_DOC: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS_DOC__DOC, NSDoc.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -194,6 +307,8 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { return ( ( FeatureMap.Internal ) getAny() ).getWrapper(); case NsdPackage.DOC__ID: return getId(); + case NsdPackage.DOC__NS_DOC: + return getNSDoc(); } return super.eGet( featureID, resolve, coreType ); } @@ -218,6 +333,9 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { case NsdPackage.DOC__ID: setId( ( String ) newValue ); return; + case NsdPackage.DOC__NS_DOC: + setNSDoc( ( NSDoc ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -240,7 +358,10 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { getAny().clear(); return; case NsdPackage.DOC__ID: - setId( ID_EDEFAULT ); + unsetId(); + return; + case NsdPackage.DOC__NS_DOC: + setNSDoc( ( NSDoc ) null ); return; } super.eUnset( featureID ); @@ -261,7 +382,9 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { case NsdPackage.DOC__ANY: return !getAny().isEmpty(); case NsdPackage.DOC__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); + return isSetId(); + case NsdPackage.DOC__NS_DOC: + return getNSDoc() != null; } return super.eIsSet( featureID ); } @@ -279,7 +402,10 @@ public class DocImpl extends MinimalEObjectImpl.Container implements Doc { result.append( " (mixed: " ); result.append( mixed ); result.append( ", id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentRootImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentRootImpl.java index 378f499..ad9377d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentRootImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentRootImpl.java @@ -20,7 +20,6 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc; @@ -56,7 +55,6 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getApplicableServiceNS <em>Applicable Service NS</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getCopyright <em>Copyright</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getNS <em>NS</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getNSDoc <em>NS Doc</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DocumentRootImpl#getServiceNS <em>Service NS</em>}</li> @@ -192,9 +190,13 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do * <!-- end-user-doc --> * @generated */ - @Override - public CopyrightNotice getCopyright() { - return ( CopyrightNotice ) getMixed().get( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT, true ); + public NotificationChain basicUnsetApplicableServiceNS( NotificationChain msgs ) { + // TODO: implement this method to unset the contained 'Applicable Service NS' containment reference + // -> this method is automatically invoked to keep the containment relationship in synch + // -> do not modify other features + // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first) + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); } /** @@ -202,9 +204,9 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do * <!-- end-user-doc --> * @generated */ - public NotificationChain basicSetCopyright( CopyrightNotice newCopyright, NotificationChain msgs ) { - return ( ( FeatureMap.Internal ) getMixed() ).basicAdd( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT, - newCopyright, msgs ); + @Override + public void unsetApplicableServiceNS() { + ( ( FeatureMap.Internal ) getMixed() ).clear( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS ); } /** @@ -213,8 +215,9 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do * @generated */ @Override - public void setCopyright( CopyrightNotice newCopyright ) { - ( ( FeatureMap.Internal ) getMixed() ).set( NsdPackage.Literals.DOCUMENT_ROOT__COPYRIGHT, newCopyright ); + public boolean isSetApplicableServiceNS() { + return !( ( FeatureMap.Internal ) getMixed() ) + .isEmpty( NsdPackage.Literals.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS ); } /** @@ -246,6 +249,40 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do ( ( FeatureMap.Internal ) getMixed() ).set( NsdPackage.Literals.DOCUMENT_ROOT__NS, newNS ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetNS( NotificationChain msgs ) { + // TODO: implement this method to unset the contained 'NS' containment reference + // -> this method is automatically invoked to keep the containment relationship in synch + // -> do not modify other features + // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first) + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetNS() { + ( ( FeatureMap.Internal ) getMixed() ).clear( NsdPackage.Literals.DOCUMENT_ROOT__NS ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetNS() { + return !( ( FeatureMap.Internal ) getMixed() ).isEmpty( NsdPackage.Literals.DOCUMENT_ROOT__NS ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -276,6 +313,40 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do ( ( FeatureMap.Internal ) getMixed() ).set( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC, newNSDoc ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetNSDoc( NotificationChain msgs ) { + // TODO: implement this method to unset the contained 'NS Doc' containment reference + // -> this method is automatically invoked to keep the containment relationship in synch + // -> do not modify other features + // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first) + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetNSDoc() { + ( ( FeatureMap.Internal ) getMixed() ).clear( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetNSDoc() { + return !( ( FeatureMap.Internal ) getMixed() ).isEmpty( NsdPackage.Literals.DOCUMENT_ROOT__NS_DOC ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -306,6 +377,40 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do ( ( FeatureMap.Internal ) getMixed() ).set( NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS, newServiceNS ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetServiceNS( NotificationChain msgs ) { + // TODO: implement this method to unset the contained 'Service NS' containment reference + // -> this method is automatically invoked to keep the containment relationship in synch + // -> do not modify other features + // -> return msgs, after adding any generated Notification to it (if it is null, a NotificationChain object must be created first) + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceNS() { + ( ( FeatureMap.Internal ) getMixed() ).clear( NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceNS() { + return !( ( FeatureMap.Internal ) getMixed() ).isEmpty( NsdPackage.Literals.DOCUMENT_ROOT__SERVICE_NS ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -321,15 +426,13 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do case NsdPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION: return ( ( InternalEList< ? > ) getXSISchemaLocation() ).basicRemove( otherEnd, msgs ); case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS: - return basicSetApplicableServiceNS( null, msgs ); - case NsdPackage.DOCUMENT_ROOT__COPYRIGHT: - return basicSetCopyright( null, msgs ); + return basicUnsetApplicableServiceNS( msgs ); case NsdPackage.DOCUMENT_ROOT__NS: - return basicSetNS( null, msgs ); + return basicUnsetNS( msgs ); case NsdPackage.DOCUMENT_ROOT__NS_DOC: - return basicSetNSDoc( null, msgs ); + return basicUnsetNSDoc( msgs ); case NsdPackage.DOCUMENT_ROOT__SERVICE_NS: - return basicSetServiceNS( null, msgs ); + return basicUnsetServiceNS( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -357,8 +460,6 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do return getXSISchemaLocation().map(); case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS: return getApplicableServiceNS(); - case NsdPackage.DOCUMENT_ROOT__COPYRIGHT: - return getCopyright(); case NsdPackage.DOCUMENT_ROOT__NS: return getNS(); case NsdPackage.DOCUMENT_ROOT__NS_DOC: @@ -389,9 +490,6 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS: setApplicableServiceNS( ( ApplicableServiceNS ) newValue ); return; - case NsdPackage.DOCUMENT_ROOT__COPYRIGHT: - setCopyright( ( CopyrightNotice ) newValue ); - return; case NsdPackage.DOCUMENT_ROOT__NS: setNS( ( NS ) newValue ); return; @@ -423,19 +521,16 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do getXSISchemaLocation().clear(); return; case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS: - setApplicableServiceNS( ( ApplicableServiceNS ) null ); - return; - case NsdPackage.DOCUMENT_ROOT__COPYRIGHT: - setCopyright( ( CopyrightNotice ) null ); + unsetApplicableServiceNS(); return; case NsdPackage.DOCUMENT_ROOT__NS: - setNS( ( NS ) null ); + unsetNS(); return; case NsdPackage.DOCUMENT_ROOT__NS_DOC: - setNSDoc( ( NSDoc ) null ); + unsetNSDoc(); return; case NsdPackage.DOCUMENT_ROOT__SERVICE_NS: - setServiceNS( ( ServiceNS ) null ); + unsetServiceNS(); return; } super.eUnset( featureID ); @@ -456,15 +551,13 @@ public class DocumentRootImpl extends MinimalEObjectImpl.Container implements Do case NsdPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION: return xSISchemaLocation != null && !xSISchemaLocation.isEmpty(); case NsdPackage.DOCUMENT_ROOT__APPLICABLE_SERVICE_NS: - return getApplicableServiceNS() != null; - case NsdPackage.DOCUMENT_ROOT__COPYRIGHT: - return getCopyright() != null; + return isSetApplicableServiceNS(); case NsdPackage.DOCUMENT_ROOT__NS: - return getNS() != null; + return isSetNS(); case NsdPackage.DOCUMENT_ROOT__NS_DOC: - return getNSDoc() != null; + return isSetNSDoc(); case NsdPackage.DOCUMENT_ROOT__SERVICE_NS: - return getServiceNS() != null; + return isSetServiceNS(); } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentedClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentedClassImpl.java index 22f3768..439cc88 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentedClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DocumentedClassImpl.java @@ -94,6 +94,15 @@ public class DocumentedClassImpl extends MinimalEObjectImpl.Container implements */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #isInformative() <em>Informative</em>}' attribute. * <!-- begin-user-doc --> @@ -211,8 +220,35 @@ public class DocumentedClassImpl extends MinimalEObjectImpl.Container implements public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; + boolean oldDescIDESet = descIDESet; + descIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.DOCUMENTED_CLASS__DESC_ID, oldDescID, descID ) ); + NsdPackage.DOCUMENTED_CLASS__DESC_ID, oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DOCUMENTED_CLASS__DESC_ID, oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -316,7 +352,7 @@ public class DocumentedClassImpl extends MinimalEObjectImpl.Container implements unsetDeprecated(); return; case NsdPackage.DOCUMENTED_CLASS__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.DOCUMENTED_CLASS__INFORMATIVE: unsetInformative(); @@ -336,7 +372,7 @@ public class DocumentedClassImpl extends MinimalEObjectImpl.Container implements case NsdPackage.DOCUMENTED_CLASS__DEPRECATED: return isSetDeprecated(); case NsdPackage.DOCUMENTED_CLASS__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.DOCUMENTED_CLASS__INFORMATIVE: return isSetInformative(); } @@ -359,7 +395,10 @@ public class DocumentedClassImpl extends MinimalEObjectImpl.Container implements else result.append( "<unset>" ); result.append( ", descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", informative: " ); if( informativeESet ) result.append( informative ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java index 18160b9..4ba0bc4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationImpl.java @@ -20,6 +20,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; @@ -34,8 +35,8 @@ 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.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -49,6 +50,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getLiteral <em>Literal</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getInheritedFrom <em>Inherited From</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getEnumerations <em>Enumerations</em>}</li> * </ul> * * @generated @@ -84,6 +86,15 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { */ protected String inheritedFrom = INHERITED_FROM_EDEFAULT; + /** + * This is true if the Inherited From attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean inheritedFromESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -104,6 +115,15 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -131,11 +151,32 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { @Override public EList< Literal > getLiteral() { if( literal == null ) { - literal = new EObjectContainmentEList< Literal >( Literal.class, this, NsdPackage.ENUMERATION__LITERAL ); + literal = new EObjectContainmentWithInverseEList.Unsettable< Literal >( Literal.class, this, + NsdPackage.ENUMERATION__LITERAL, NsdPackage.LITERAL__ENUMERATION ); } return literal; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetLiteral() { + if( literal != null ) ( ( InternalEList.Unsettable< ? > ) literal ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetLiteral() { + return literal != null && ( ( InternalEList.Unsettable< ? > ) literal ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -155,8 +196,36 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { public void setInheritedFrom( String newInheritedFrom ) { String oldInheritedFrom = inheritedFrom; inheritedFrom = newInheritedFrom; + boolean oldInheritedFromESet = inheritedFromESet; + inheritedFromESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.ENUMERATION__INHERITED_FROM, oldInheritedFrom, inheritedFrom ) ); + NsdPackage.ENUMERATION__INHERITED_FROM, oldInheritedFrom, inheritedFrom, !oldInheritedFromESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetInheritedFrom() { + String oldInheritedFrom = inheritedFrom; + boolean oldInheritedFromESet = inheritedFromESet; + inheritedFrom = INHERITED_FROM_EDEFAULT; + inheritedFromESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.ENUMERATION__INHERITED_FROM, + oldInheritedFrom, INHERITED_FROM_EDEFAULT, oldInheritedFromESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetInheritedFrom() { + return inheritedFromESet; } /** @@ -178,8 +247,97 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.ENUMERATION__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ENUMERATION__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.ENUMERATION__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Enumerations getEnumerations() { + if( eContainerFeatureID() != NsdPackage.ENUMERATION__ENUMERATIONS ) return null; + return ( Enumerations ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEnumerations( Enumerations newEnumerations, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newEnumerations, NsdPackage.ENUMERATION__ENUMERATIONS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setEnumerations( Enumerations newEnumerations ) { + if( newEnumerations != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.ENUMERATION__ENUMERATIONS && newEnumerations != null ) ) { + if( EcoreUtil.isAncestor( this, newEnumerations ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newEnumerations != null ) msgs = ( ( InternalEObject ) newEnumerations ).eInverseAdd( this, + NsdPackage.ENUMERATIONS__ENUMERATION, Enumerations.class, msgs ); + msgs = basicSetEnumerations( newEnumerations, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.ENUMERATION__ENUMERATIONS, newEnumerations, newEnumerations ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.ENUMERATION__LITERAL: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getLiteral() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.ENUMERATION__ENUMERATIONS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetEnumerations( ( Enumerations ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -192,10 +350,27 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { switch( featureID ) { case NsdPackage.ENUMERATION__LITERAL: return ( ( InternalEList< ? > ) getLiteral() ).basicRemove( otherEnd, msgs ); + case NsdPackage.ENUMERATION__ENUMERATIONS: + return basicSetEnumerations( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.ENUMERATION__ENUMERATIONS: + return eInternalContainer().eInverseRemove( this, NsdPackage.ENUMERATIONS__ENUMERATION, Enumerations.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -210,6 +385,8 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { return getInheritedFrom(); case NsdPackage.ENUMERATION__NAME: return getName(); + case NsdPackage.ENUMERATION__ENUMERATIONS: + return getEnumerations(); } return super.eGet( featureID, resolve, coreType ); } @@ -233,6 +410,9 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { case NsdPackage.ENUMERATION__NAME: setName( ( String ) newValue ); return; + case NsdPackage.ENUMERATION__ENUMERATIONS: + setEnumerations( ( Enumerations ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -246,13 +426,16 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.ENUMERATION__LITERAL: - getLiteral().clear(); + unsetLiteral(); return; case NsdPackage.ENUMERATION__INHERITED_FROM: - setInheritedFrom( INHERITED_FROM_EDEFAULT ); + unsetInheritedFrom(); return; case NsdPackage.ENUMERATION__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.ENUMERATION__ENUMERATIONS: + setEnumerations( ( Enumerations ) null ); return; } super.eUnset( featureID ); @@ -267,12 +450,13 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.ENUMERATION__LITERAL: - return literal != null && !literal.isEmpty(); + return isSetLiteral(); case NsdPackage.ENUMERATION__INHERITED_FROM: - return INHERITED_FROM_EDEFAULT == null ? inheritedFrom != null - : !INHERITED_FROM_EDEFAULT.equals( inheritedFrom ); + return isSetInheritedFrom(); case NsdPackage.ENUMERATION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.ENUMERATION__ENUMERATIONS: + return getEnumerations() != null; } return super.eIsSet( featureID ); } @@ -288,9 +472,15 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration { StringBuilder result = new StringBuilder( super.toString() ); result.append( " (inheritedFrom: " ); - result.append( inheritedFrom ); + if( inheritedFromESet ) + result.append( inheritedFrom ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationsImpl.java index 468d274..441ce19 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/EnumerationsImpl.java @@ -21,10 +21,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationsImpl#getEnumeration <em>Enumeration</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationsImpl#getNS <em>NS</em>}</li> * </ul> * * @generated @@ -88,12 +92,94 @@ public class EnumerationsImpl extends MinimalEObjectImpl.Container implements En @Override public EList< Enumeration > getEnumeration() { if( enumeration == null ) { - enumeration = new EObjectContainmentEList< Enumeration >( Enumeration.class, this, - NsdPackage.ENUMERATIONS__ENUMERATION ); + enumeration = new EObjectContainmentWithInverseEList.Unsettable< Enumeration >( Enumeration.class, this, + NsdPackage.ENUMERATIONS__ENUMERATION, NsdPackage.ENUMERATION__ENUMERATIONS ); } return enumeration; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetEnumeration() { + if( enumeration != null ) ( ( InternalEList.Unsettable< ? > ) enumeration ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetEnumeration() { + return enumeration != null && ( ( InternalEList.Unsettable< ? > ) enumeration ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.ENUMERATIONS__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.ENUMERATIONS__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.ENUMERATIONS__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__ENUMERATIONS, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.ENUMERATIONS__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.ENUMERATIONS__ENUMERATION: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getEnumeration() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.ENUMERATIONS__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +190,26 @@ public class EnumerationsImpl extends MinimalEObjectImpl.Container implements En switch( featureID ) { case NsdPackage.ENUMERATIONS__ENUMERATION: return ( ( InternalEList< ? > ) getEnumeration() ).basicRemove( otherEnd, msgs ); + case NsdPackage.ENUMERATIONS__NS: + return basicSetNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.ENUMERATIONS__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__ENUMERATIONS, NS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +220,8 @@ public class EnumerationsImpl extends MinimalEObjectImpl.Container implements En switch( featureID ) { case NsdPackage.ENUMERATIONS__ENUMERATION: return getEnumeration(); + case NsdPackage.ENUMERATIONS__NS: + return getNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +239,9 @@ public class EnumerationsImpl extends MinimalEObjectImpl.Container implements En getEnumeration().clear(); getEnumeration().addAll( ( Collection< ? extends Enumeration > ) newValue ); return; + case NsdPackage.ENUMERATIONS__NS: + setNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +255,10 @@ public class EnumerationsImpl extends MinimalEObjectImpl.Container implements En public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.ENUMERATIONS__ENUMERATION: - getEnumeration().clear(); + unsetEnumeration(); + return; + case NsdPackage.ENUMERATIONS__NS: + setNS( ( NS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +273,9 @@ public class EnumerationsImpl extends MinimalEObjectImpl.Container implements En public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.ENUMERATIONS__ENUMERATION: - return enumeration != null && !enumeration.isEmpty(); + return isSetEnumeration(); + case NsdPackage.ENUMERATIONS__NS: + return getNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java index 0aeb4eb..3233cb4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java @@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import org.eclipse.emf.common.notify.Notification; @@ -31,6 +32,7 @@ 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; /** * <!-- begin-user-doc --> @@ -44,6 +46,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getAbbreviation <em>Abbreviation</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getTitleID <em>Title ID</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getFunctionalConstraints <em>Functional Constraints</em>}</li> * </ul> * * @generated @@ -59,6 +62,15 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple */ protected ApplicableServices applicableServices; + /** + * This is true if the Applicable Services containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean applicableServicesESet; + /** * The default value of the '{@link #getAbbreviation() <em>Abbreviation</em>}' attribute. * <!-- begin-user-doc --> @@ -79,6 +91,15 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple */ protected String abbreviation = ABBREVIATION_EDEFAULT; + /** + * This is true if the Abbreviation attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean abbreviationESet; + /** * The default value of the '{@link #getDescID() <em>Desc ID</em>}' attribute. * <!-- begin-user-doc --> @@ -99,6 +120,15 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #getTitleID() <em>Title ID</em>}' attribute. * <!-- begin-user-doc --> @@ -119,6 +149,15 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple */ protected String titleID = TITLE_ID_EDEFAULT; + /** + * This is true if the Title ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean titleIDESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -157,10 +196,12 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple NotificationChain msgs ) { ApplicableServices oldApplicableServices = applicableServices; applicableServices = newApplicableServices; + boolean oldApplicableServicesESet = applicableServicesESet; + applicableServicesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, oldApplicableServices, - newApplicableServices ); + NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, oldApplicableServices, newApplicableServices, + !oldApplicableServicesESet ); if( msgs == null ) msgs = notification; else @@ -179,14 +220,73 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple if( newApplicableServices != applicableServices ) { NotificationChain msgs = null; if( applicableServices != null ) msgs = ( ( InternalEObject ) applicableServices ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, null, msgs ); + NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT, ApplicableServices.class, msgs ); if( newApplicableServices != null ) msgs = ( ( InternalEObject ) newApplicableServices ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, null, msgs ); + NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT, ApplicableServices.class, msgs ); msgs = basicSetApplicableServices( newApplicableServices, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, newApplicableServices, newApplicableServices ) ); + else { + boolean oldApplicableServicesESet = applicableServicesESet; + applicableServicesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, newApplicableServices, newApplicableServices, + !oldApplicableServicesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetApplicableServices( NotificationChain msgs ) { + ApplicableServices oldApplicableServices = applicableServices; + applicableServices = null; + boolean oldApplicableServicesESet = applicableServicesESet; + applicableServicesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, oldApplicableServices, null, + oldApplicableServicesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetApplicableServices() { + if( applicableServices != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) applicableServices ).eInverseRemove( this, + NsdPackage.APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT, ApplicableServices.class, msgs ); + msgs = basicUnsetApplicableServices( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldApplicableServicesESet = applicableServicesESet; + applicableServicesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, null, null, oldApplicableServicesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetApplicableServices() { + return applicableServicesESet; } /** @@ -208,8 +308,36 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple public void setAbbreviation( String newAbbreviation ) { String oldAbbreviation = abbreviation; abbreviation = newAbbreviation; + boolean oldAbbreviationESet = abbreviationESet; + abbreviationESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.FUNCTIONAL_CONSTRAINT__ABBREVIATION, oldAbbreviation, abbreviation ) ); + NsdPackage.FUNCTIONAL_CONSTRAINT__ABBREVIATION, oldAbbreviation, abbreviation, !oldAbbreviationESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetAbbreviation() { + String oldAbbreviation = abbreviation; + boolean oldAbbreviationESet = abbreviationESet; + abbreviation = ABBREVIATION_EDEFAULT; + abbreviationESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.FUNCTIONAL_CONSTRAINT__ABBREVIATION, + oldAbbreviation, ABBREVIATION_EDEFAULT, oldAbbreviationESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetAbbreviation() { + return abbreviationESet; } /** @@ -231,8 +359,35 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; + boolean oldDescIDESet = descIDESet; + descIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.FUNCTIONAL_CONSTRAINT__DESC_ID, oldDescID, descID ) ); + NsdPackage.FUNCTIONAL_CONSTRAINT__DESC_ID, oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.FUNCTIONAL_CONSTRAINT__DESC_ID, oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -254,8 +409,102 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple public void setTitleID( String newTitleID ) { String oldTitleID = titleID; titleID = newTitleID; + boolean oldTitleIDESet = titleIDESet; + titleIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID, oldTitleID, titleID ) ); + NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID, oldTitleID, titleID, !oldTitleIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetTitleID() { + String oldTitleID = titleID; + boolean oldTitleIDESet = titleIDESet; + titleID = TITLE_ID_EDEFAULT; + titleIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID, oldTitleID, TITLE_ID_EDEFAULT, oldTitleIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetTitleID() { + return titleIDESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionalConstraints getFunctionalConstraints() { + if( eContainerFeatureID() != NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS ) return null; + return ( FunctionalConstraints ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetFunctionalConstraints( FunctionalConstraints newFunctionalConstraints, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newFunctionalConstraints, + NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFunctionalConstraints( FunctionalConstraints newFunctionalConstraints ) { + if( newFunctionalConstraints != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS + && newFunctionalConstraints != null ) ) { + if( EcoreUtil.isAncestor( this, newFunctionalConstraints ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newFunctionalConstraints != null ) + msgs = ( ( InternalEObject ) newFunctionalConstraints ).eInverseAdd( this, + NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT, FunctionalConstraints.class, msgs ); + msgs = basicSetFunctionalConstraints( newFunctionalConstraints, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS, + newFunctionalConstraints, newFunctionalConstraints ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES: + if( applicableServices != null ) msgs = ( ( InternalEObject ) applicableServices ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES, null, msgs ); + return basicSetApplicableServices( ( ApplicableServices ) otherEnd, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetFunctionalConstraints( ( FunctionalConstraints ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -267,11 +516,28 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple public NotificationChain eInverseRemove( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES: - return basicSetApplicableServices( null, msgs ); + return basicUnsetApplicableServices( msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + return basicSetFunctionalConstraints( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + return eInternalContainer().eInverseRemove( this, NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT, + FunctionalConstraints.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -288,6 +554,8 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple return getDescID(); case NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID: return getTitleID(); + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + return getFunctionalConstraints(); } return super.eGet( featureID, resolve, coreType ); } @@ -312,6 +580,9 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple case NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID: setTitleID( ( String ) newValue ); return; + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + setFunctionalConstraints( ( FunctionalConstraints ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -325,16 +596,19 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES: - setApplicableServices( ( ApplicableServices ) null ); + unsetApplicableServices(); return; case NsdPackage.FUNCTIONAL_CONSTRAINT__ABBREVIATION: - setAbbreviation( ABBREVIATION_EDEFAULT ); + unsetAbbreviation(); return; case NsdPackage.FUNCTIONAL_CONSTRAINT__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID: - setTitleID( TITLE_ID_EDEFAULT ); + unsetTitleID(); + return; + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + setFunctionalConstraints( ( FunctionalConstraints ) null ); return; } super.eUnset( featureID ); @@ -349,13 +623,15 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES: - return applicableServices != null; + return isSetApplicableServices(); case NsdPackage.FUNCTIONAL_CONSTRAINT__ABBREVIATION: - return ABBREVIATION_EDEFAULT == null ? abbreviation != null : !ABBREVIATION_EDEFAULT.equals( abbreviation ); + return isSetAbbreviation(); case NsdPackage.FUNCTIONAL_CONSTRAINT__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.FUNCTIONAL_CONSTRAINT__TITLE_ID: - return TITLE_ID_EDEFAULT == null ? titleID != null : !TITLE_ID_EDEFAULT.equals( titleID ); + return isSetTitleID(); + case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: + return getFunctionalConstraints() != null; } return super.eIsSet( featureID ); } @@ -371,11 +647,20 @@ public class FunctionalConstraintImpl extends MinimalEObjectImpl.Container imple StringBuilder result = new StringBuilder( super.toString() ); result.append( " (abbreviation: " ); - result.append( abbreviation ); + if( abbreviationESet ) + result.append( abbreviation ); + else + result.append( "<unset>" ); result.append( ", descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", titleID: " ); - result.append( titleID ); + if( titleIDESet ) + result.append( titleID ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintsImpl.java index 661af22..3994ba5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintsImpl.java @@ -21,10 +21,13 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; 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; @@ -32,9 +35,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +50,8 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintsImpl#getFunctionalConstraint <em>Functional Constraint</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintsImpl#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintsImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -88,12 +94,143 @@ public class FunctionalConstraintsImpl extends MinimalEObjectImpl.Container impl @Override public EList< FunctionalConstraint > getFunctionalConstraint() { if( functionalConstraint == null ) { - functionalConstraint = new EObjectContainmentEList< FunctionalConstraint >( FunctionalConstraint.class, - this, NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT ); + functionalConstraint = new EObjectContainmentWithInverseEList.Unsettable< FunctionalConstraint >( + FunctionalConstraint.class, this, NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT, + NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS ); } return functionalConstraint; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetFunctionalConstraint() { + if( functionalConstraint != null ) ( ( InternalEList.Unsettable< ? > ) functionalConstraint ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetFunctionalConstraint() { + return functionalConstraint != null && ( ( InternalEList.Unsettable< ? > ) functionalConstraint ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.FUNCTIONAL_CONSTRAINTS__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.FUNCTIONAL_CONSTRAINTS__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.FUNCTIONAL_CONSTRAINTS__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, + NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.FUNCTIONAL_CONSTRAINTS__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS, + msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS + && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getFunctionalConstraint() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +241,31 @@ public class FunctionalConstraintsImpl extends MinimalEObjectImpl.Container impl switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT: return ( ( InternalEList< ? > ) getFunctionalConstraint() ).basicRemove( otherEnd, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + return basicSetNS( null, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + return basicSetServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, NS.class, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, + ServiceNS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +276,10 @@ public class FunctionalConstraintsImpl extends MinimalEObjectImpl.Container impl switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT: return getFunctionalConstraint(); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + return getNS(); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +297,12 @@ public class FunctionalConstraintsImpl extends MinimalEObjectImpl.Container impl getFunctionalConstraint().clear(); getFunctionalConstraint().addAll( ( Collection< ? extends FunctionalConstraint > ) newValue ); return; + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + setNS( ( NS ) newValue ); + return; + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +316,13 @@ public class FunctionalConstraintsImpl extends MinimalEObjectImpl.Container impl public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT: - getFunctionalConstraint().clear(); + unsetFunctionalConstraint(); + return; + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + setNS( ( NS ) null ); + return; + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +337,11 @@ public class FunctionalConstraintsImpl extends MinimalEObjectImpl.Container impl public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT: - return functionalConstraint != null && !functionalConstraint.isEmpty(); + return isSetFunctionalConstraint(); + case NsdPackage.FUNCTIONAL_CONSTRAINTS__NS: + return getNS() != null; + case NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassImpl.java index 21a4baa..65803ce 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassImpl.java @@ -20,13 +20,17 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -39,6 +43,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassImpl#isCanHaveLOG <em>Can Have LOG</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassImpl#isIsExtension <em>Is Extension</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassImpl#getLNClasses <em>LN Classes</em>}</li> * </ul> * * @generated @@ -122,6 +127,15 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -260,8 +274,121 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.LN_CLASS__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.LN_CLASS__NAME, + oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.LN_CLASS__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public LNClasses getLNClasses() { + if( eContainerFeatureID() != NsdPackage.LN_CLASS__LN_CLASSES ) return null; + return ( LNClasses ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetLNClasses( LNClasses newLNClasses, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newLNClasses, NsdPackage.LN_CLASS__LN_CLASSES, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setLNClasses( LNClasses newLNClasses ) { + if( newLNClasses != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.LN_CLASS__LN_CLASSES && newLNClasses != null ) ) { + if( EcoreUtil.isAncestor( this, newLNClasses ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newLNClasses != null ) msgs = ( ( InternalEObject ) newLNClasses ).eInverseAdd( this, + NsdPackage.LN_CLASSES__LN_CLASS, LNClasses.class, msgs ); + msgs = basicSetLNClasses( newLNClasses, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.LN_CLASS__LN_CLASSES, newLNClasses, newLNClasses ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.LN_CLASS__LN_CLASSES: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetLNClasses( ( LNClasses ) 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 NsdPackage.LN_CLASS__LN_CLASSES: + return basicSetLNClasses( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.LN_CLASS__LN_CLASSES: + return eInternalContainer().eInverseRemove( this, NsdPackage.LN_CLASSES__LN_CLASS, LNClasses.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -278,6 +405,8 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { return isIsExtension(); case NsdPackage.LN_CLASS__NAME: return getName(); + case NsdPackage.LN_CLASS__LN_CLASSES: + return getLNClasses(); } return super.eGet( featureID, resolve, coreType ); } @@ -299,6 +428,9 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { case NsdPackage.LN_CLASS__NAME: setName( ( String ) newValue ); return; + case NsdPackage.LN_CLASS__LN_CLASSES: + setLNClasses( ( LNClasses ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -318,7 +450,10 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { unsetIsExtension(); return; case NsdPackage.LN_CLASS__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.LN_CLASS__LN_CLASSES: + setLNClasses( ( LNClasses ) null ); return; } super.eUnset( featureID ); @@ -337,7 +472,9 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { case NsdPackage.LN_CLASS__IS_EXTENSION: return isSetIsExtension(); case NsdPackage.LN_CLASS__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.LN_CLASS__LN_CLASSES: + return getLNClasses() != null; } return super.eIsSet( featureID ); } @@ -363,7 +500,10 @@ public class LNClassImpl extends AnyLNClassImpl implements LNClass { else result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassesImpl.java index fce5ff0..cecf965 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassesImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LNClassesImpl.java @@ -22,10 +22,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AbstractLNClass; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClass; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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; @@ -33,9 +35,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -48,6 +51,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassesImpl#getAbstractLNClass <em>Abstract LN Class</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassesImpl#getLNClass <em>LN Class</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LNClassesImpl#getNS <em>NS</em>}</li> * </ul> * * @generated @@ -100,12 +104,33 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla @Override public EList< AbstractLNClass > getAbstractLNClass() { if( abstractLNClass == null ) { - abstractLNClass = new EObjectContainmentEList< AbstractLNClass >( AbstractLNClass.class, this, - NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS ); + abstractLNClass = new EObjectContainmentWithInverseEList.Unsettable< AbstractLNClass >( + AbstractLNClass.class, this, NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS, + NsdPackage.ABSTRACT_LN_CLASS__LN_CLASSES ); } return abstractLNClass; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetAbstractLNClass() { + if( abstractLNClass != null ) ( ( InternalEList.Unsettable< ? > ) abstractLNClass ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetAbstractLNClass() { + return abstractLNClass != null && ( ( InternalEList.Unsettable< ? > ) abstractLNClass ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -114,11 +139,96 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla @Override public EList< LNClass > getLNClass() { if( lNClass == null ) { - lNClass = new EObjectContainmentEList< LNClass >( LNClass.class, this, NsdPackage.LN_CLASSES__LN_CLASS ); + lNClass = new EObjectContainmentWithInverseEList.Unsettable< LNClass >( LNClass.class, this, + NsdPackage.LN_CLASSES__LN_CLASS, NsdPackage.LN_CLASS__LN_CLASSES ); } return lNClass; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetLNClass() { + if( lNClass != null ) ( ( InternalEList.Unsettable< ? > ) lNClass ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetLNClass() { + return lNClass != null && ( ( InternalEList.Unsettable< ? > ) lNClass ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.LN_CLASSES__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.LN_CLASSES__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() || ( eContainerFeatureID() != NsdPackage.LN_CLASSES__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) + msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, NsdPackage.NS__LN_CLASSES, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.LN_CLASSES__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getAbstractLNClass() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.LN_CLASSES__LN_CLASS: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getLNClass() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.LN_CLASSES__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -131,10 +241,26 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla return ( ( InternalEList< ? > ) getAbstractLNClass() ).basicRemove( otherEnd, msgs ); case NsdPackage.LN_CLASSES__LN_CLASS: return ( ( InternalEList< ? > ) getLNClass() ).basicRemove( otherEnd, msgs ); + case NsdPackage.LN_CLASSES__NS: + return basicSetNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.LN_CLASSES__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__LN_CLASSES, NS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -147,6 +273,8 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla return getAbstractLNClass(); case NsdPackage.LN_CLASSES__LN_CLASS: return getLNClass(); + case NsdPackage.LN_CLASSES__NS: + return getNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -168,6 +296,9 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla getLNClass().clear(); getLNClass().addAll( ( Collection< ? extends LNClass > ) newValue ); return; + case NsdPackage.LN_CLASSES__NS: + setNS( ( NS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -181,10 +312,13 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS: - getAbstractLNClass().clear(); + unsetAbstractLNClass(); return; case NsdPackage.LN_CLASSES__LN_CLASS: - getLNClass().clear(); + unsetLNClass(); + return; + case NsdPackage.LN_CLASSES__NS: + setNS( ( NS ) null ); return; } super.eUnset( featureID ); @@ -199,9 +333,11 @@ public class LNClassesImpl extends MinimalEObjectImpl.Container implements LNCla public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.LN_CLASSES__ABSTRACT_LN_CLASS: - return abstractLNClass != null && !abstractLNClass.isEmpty(); + return isSetAbstractLNClass(); case NsdPackage.LN_CLASSES__LN_CLASS: - return lNClass != null && !lNClass.isEmpty(); + return isSetLNClass(); + case NsdPackage.LN_CLASSES__NS: + return getNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LicenseImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LicenseImpl.java index bfa9cb8..78fe2ad 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LicenseImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LicenseImpl.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.License; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LicenseKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; @@ -33,6 +34,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import org.eclipse.emf.ecore.util.BasicFeatureMap; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.FeatureMap; import org.eclipse.emf.ecore.util.InternalEList; @@ -47,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LicenseImpl#getMixed <em>Mixed</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LicenseImpl#getKind <em>Kind</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LicenseImpl#getUri <em>Uri</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LicenseImpl#getCopyrightNotice <em>Copyright Notice</em>}</li> * </ul> * * @generated @@ -111,6 +114,15 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License */ protected String uri = URI_EDEFAULT; + /** + * This is true if the Uri attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean uriESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -212,8 +224,93 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License public void setUri( String newUri ) { String oldUri = uri; uri = newUri; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.LICENSE__URI, oldUri, uri ) ); + boolean oldUriESet = uriESet; + uriESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.LICENSE__URI, oldUri, uri, !oldUriESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUri() { + String oldUri = uri; + boolean oldUriESet = uriESet; + uri = URI_EDEFAULT; + uriESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.LICENSE__URI, + oldUri, URI_EDEFAULT, oldUriESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUri() { + return uriESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CopyrightNotice getCopyrightNotice() { + if( eContainerFeatureID() != NsdPackage.LICENSE__COPYRIGHT_NOTICE ) return null; + return ( CopyrightNotice ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCopyrightNotice( CopyrightNotice newCopyrightNotice, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCopyrightNotice, NsdPackage.LICENSE__COPYRIGHT_NOTICE, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCopyrightNotice( CopyrightNotice newCopyrightNotice ) { + if( newCopyrightNotice != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.LICENSE__COPYRIGHT_NOTICE && newCopyrightNotice != null ) ) { + if( EcoreUtil.isAncestor( this, newCopyrightNotice ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCopyrightNotice != null ) msgs = ( ( InternalEObject ) newCopyrightNotice ).eInverseAdd( this, + NsdPackage.COPYRIGHT_NOTICE__LICENSE, CopyrightNotice.class, msgs ); + msgs = basicSetCopyrightNotice( newCopyrightNotice, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.LICENSE__COPYRIGHT_NOTICE, newCopyrightNotice, newCopyrightNotice ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCopyrightNotice( ( CopyrightNotice ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -226,10 +323,27 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License switch( featureID ) { case NsdPackage.LICENSE__MIXED: return ( ( InternalEList< ? > ) getMixed() ).basicRemove( otherEnd, msgs ); + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + return basicSetCopyrightNotice( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + return eInternalContainer().eInverseRemove( this, NsdPackage.COPYRIGHT_NOTICE__LICENSE, + CopyrightNotice.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -245,6 +359,8 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License return getKind(); case NsdPackage.LICENSE__URI: return getUri(); + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + return getCopyrightNotice(); } return super.eGet( featureID, resolve, coreType ); } @@ -266,6 +382,9 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License case NsdPackage.LICENSE__URI: setUri( ( String ) newValue ); return; + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + setCopyrightNotice( ( CopyrightNotice ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -285,7 +404,10 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License unsetKind(); return; case NsdPackage.LICENSE__URI: - setUri( URI_EDEFAULT ); + unsetUri(); + return; + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + setCopyrightNotice( ( CopyrightNotice ) null ); return; } super.eUnset( featureID ); @@ -304,7 +426,9 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License case NsdPackage.LICENSE__KIND: return isSetKind(); case NsdPackage.LICENSE__URI: - return URI_EDEFAULT == null ? uri != null : !URI_EDEFAULT.equals( uri ); + return isSetUri(); + case NsdPackage.LICENSE__COPYRIGHT_NOTICE: + return getCopyrightNotice() != null; } return super.eIsSet( featureID ); } @@ -327,7 +451,10 @@ public class LicenseImpl extends MinimalEObjectImpl.Container implements License else result.append( "<unset>" ); result.append( ", uri: " ); - result.append( uri ); + if( uriESet ) + result.append( uri ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LiteralImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LiteralImpl.java index bad0005..e252431 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LiteralImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/LiteralImpl.java @@ -19,14 +19,18 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -38,6 +42,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LiteralImpl#getLiteralVal <em>Literal Val</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LiteralImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.LiteralImpl#getEnumeration <em>Enumeration</em>}</li> * </ul> * * @generated @@ -92,6 +97,15 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -180,8 +194,122 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.LITERAL__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.LITERAL__NAME, + oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.LITERAL__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Enumeration getEnumeration() { + if( eContainerFeatureID() != NsdPackage.LITERAL__ENUMERATION ) return null; + return ( Enumeration ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetEnumeration( Enumeration newEnumeration, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newEnumeration, NsdPackage.LITERAL__ENUMERATION, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setEnumeration( Enumeration newEnumeration ) { + if( newEnumeration != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.LITERAL__ENUMERATION && newEnumeration != null ) ) { + if( EcoreUtil.isAncestor( this, newEnumeration ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newEnumeration != null ) msgs = ( ( InternalEObject ) newEnumeration ).eInverseAdd( this, + NsdPackage.ENUMERATION__LITERAL, Enumeration.class, msgs ); + msgs = basicSetEnumeration( newEnumeration, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.LITERAL__ENUMERATION, newEnumeration, newEnumeration ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.LITERAL__ENUMERATION: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetEnumeration( ( Enumeration ) 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 NsdPackage.LITERAL__ENUMERATION: + return basicSetEnumeration( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.LITERAL__ENUMERATION: + return eInternalContainer().eInverseRemove( this, NsdPackage.ENUMERATION__LITERAL, Enumeration.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -196,6 +324,8 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { return getLiteralVal(); case NsdPackage.LITERAL__NAME: return getName(); + case NsdPackage.LITERAL__ENUMERATION: + return getEnumeration(); } return super.eGet( featureID, resolve, coreType ); } @@ -214,6 +344,9 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { case NsdPackage.LITERAL__NAME: setName( ( String ) newValue ); return; + case NsdPackage.LITERAL__ENUMERATION: + setEnumeration( ( Enumeration ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -230,7 +363,10 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { unsetLiteralVal(); return; case NsdPackage.LITERAL__NAME: - setName( NAME_EDEFAULT ); + unsetName(); + return; + case NsdPackage.LITERAL__ENUMERATION: + setEnumeration( ( Enumeration ) null ); return; } super.eUnset( featureID ); @@ -247,7 +383,9 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { case NsdPackage.LITERAL__LITERAL_VAL: return isSetLiteralVal(); case NsdPackage.LITERAL__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); + case NsdPackage.LITERAL__ENUMERATION: + return getEnumeration() != null; } return super.eIsSet( featureID ); } @@ -268,7 +406,10 @@ public class LiteralImpl extends DocumentedClassImpl implements Literal { else result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java index 7bb3ad5..ab08a14 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSDocImpl.java @@ -38,8 +38,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.EObjectContainmentWithInverseEList; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -152,6 +151,15 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * The default value of the '{@link #getLang() <em>Lang</em>}' attribute. * <!-- begin-user-doc --> @@ -172,6 +180,15 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { */ protected String lang = LANG_EDEFAULT; + /** + * This is true if the Lang attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean langESet; + /** * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> @@ -250,6 +267,15 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { */ protected XMLGregorianCalendar umlDate = UML_DATE_EDEFAULT; + /** + * This is true if the Uml Date attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean umlDateESet; + /** * The default value of the '{@link #getUmlVersion() <em>Uml Version</em>}' attribute. * <!-- begin-user-doc --> @@ -270,6 +296,15 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { */ protected String umlVersion = UML_VERSION_EDEFAULT; + /** + * This is true if the Uml Version attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean umlVersionESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -297,11 +332,32 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { @Override public EList< Doc > getDoc() { if( doc == null ) { - doc = new EObjectContainmentEList< Doc >( Doc.class, this, NsdPackage.NS_DOC__DOC ); + doc = new EObjectContainmentWithInverseEList.Unsettable< Doc >( Doc.class, this, NsdPackage.NS_DOC__DOC, + NsdPackage.DOC__NS_DOC ); } return doc; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDoc() { + if( doc != null ) ( ( InternalEList.Unsettable< ? > ) doc ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDoc() { + return doc != null && ( ( InternalEList.Unsettable< ? > ) doc ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -321,8 +377,35 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { public void setId( String newId ) { String oldId = id; id = newId; + boolean oldIdESet = idESet; + idESet = true; if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS_DOC__ID, oldId, id ) ); + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS_DOC__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS_DOC__ID, + oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; } /** @@ -344,8 +427,35 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { public void setLang( String newLang ) { String oldLang = lang; lang = newLang; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS_DOC__LANG, oldLang, lang ) ); + boolean oldLangESet = langESet; + langESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.NS_DOC__LANG, oldLang, lang, !oldLangESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetLang() { + String oldLang = lang; + boolean oldLangESet = langESet; + lang = LANG_EDEFAULT; + langESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS_DOC__LANG, + oldLang, LANG_EDEFAULT, oldLangESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetLang() { + return langESet; } /** @@ -519,8 +629,35 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { public void setUmlDate( XMLGregorianCalendar newUmlDate ) { XMLGregorianCalendar oldUmlDate = umlDate; umlDate = newUmlDate; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.NS_DOC__UML_DATE, oldUmlDate, umlDate ) ); + boolean oldUmlDateESet = umlDateESet; + umlDateESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS_DOC__UML_DATE, oldUmlDate, umlDate, !oldUmlDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUmlDate() { + XMLGregorianCalendar oldUmlDate = umlDate; + boolean oldUmlDateESet = umlDateESet; + umlDate = UML_DATE_EDEFAULT; + umlDateESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS_DOC__UML_DATE, oldUmlDate, UML_DATE_EDEFAULT, oldUmlDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUmlDate() { + return umlDateESet; } /** @@ -542,8 +679,50 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { public void setUmlVersion( String newUmlVersion ) { String oldUmlVersion = umlVersion; umlVersion = newUmlVersion; + boolean oldUmlVersionESet = umlVersionESet; + umlVersionESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS_DOC__UML_VERSION, oldUmlVersion, umlVersion ) ); + NsdPackage.NS_DOC__UML_VERSION, oldUmlVersion, umlVersion, !oldUmlVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUmlVersion() { + String oldUmlVersion = umlVersion; + boolean oldUmlVersionESet = umlVersionESet; + umlVersion = UML_VERSION_EDEFAULT; + umlVersionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS_DOC__UML_VERSION, oldUmlVersion, UML_VERSION_EDEFAULT, oldUmlVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUmlVersion() { + return umlVersionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.NS_DOC__DOC: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getDoc() ).basicAdd( otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -696,13 +875,13 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { unsetVersion(); return; case NsdPackage.NS_DOC__DOC: - getDoc().clear(); + unsetDoc(); return; case NsdPackage.NS_DOC__ID: - setId( ID_EDEFAULT ); + unsetId(); return; case NsdPackage.NS_DOC__LANG: - setLang( LANG_EDEFAULT ); + unsetLang(); return; case NsdPackage.NS_DOC__PUBLICATION_STAGE: unsetPublicationStage(); @@ -711,10 +890,10 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { unsetRevision(); return; case NsdPackage.NS_DOC__UML_DATE: - setUmlDate( UML_DATE_EDEFAULT ); + unsetUmlDate(); return; case NsdPackage.NS_DOC__UML_VERSION: - setUmlVersion( UML_VERSION_EDEFAULT ); + unsetUmlVersion(); return; } super.eUnset( featureID ); @@ -733,19 +912,19 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { case NsdPackage.NS_DOC__VERSION: return isSetVersion(); case NsdPackage.NS_DOC__DOC: - return doc != null && !doc.isEmpty(); + return isSetDoc(); case NsdPackage.NS_DOC__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); + return isSetId(); case NsdPackage.NS_DOC__LANG: - return LANG_EDEFAULT == null ? lang != null : !LANG_EDEFAULT.equals( lang ); + return isSetLang(); case NsdPackage.NS_DOC__PUBLICATION_STAGE: return isSetPublicationStage(); case NsdPackage.NS_DOC__REVISION: return isSetRevision(); case NsdPackage.NS_DOC__UML_DATE: - return UML_DATE_EDEFAULT == null ? umlDate != null : !UML_DATE_EDEFAULT.equals( umlDate ); + return isSetUmlDate(); case NsdPackage.NS_DOC__UML_VERSION: - return UML_VERSION_EDEFAULT == null ? umlVersion != null : !UML_VERSION_EDEFAULT.equals( umlVersion ); + return isSetUmlVersion(); } return super.eIsSet( featureID ); } @@ -811,9 +990,15 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { else result.append( "<unset>" ); result.append( ", id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ", lang: " ); - result.append( lang ); + if( langESet ) + result.append( lang ); + else + result.append( "<unset>" ); result.append( ", publicationStage: " ); if( publicationStageESet ) result.append( publicationStage ); @@ -825,9 +1010,15 @@ public class NSDocImpl extends CopyrightedImpl implements NSDoc { else result.append( "<unset>" ); result.append( ", umlDate: " ); - result.append( umlDate ); + if( umlDateESet ) + result.append( umlDate ); + else + result.append( "<unset>" ); result.append( ", umlVersion: " ); - result.append( umlVersion ); + if( umlVersionESet ) + result.append( umlVersion ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java index 7895fe7..b5dc050 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NSImpl.java @@ -24,7 +24,7 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; @@ -143,6 +143,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected Changes changes; + /** + * This is true if the Changes containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean changesESet; + /** * The cached value of the '{@link #getDependsOn() <em>Depends On</em>}' containment reference. * <!-- begin-user-doc --> @@ -151,7 +160,16 @@ public class NSImpl extends CopyrightedImpl implements NS { * @generated * @ordered */ - protected DependsOnType dependsOn; + protected DependsOn dependsOn; + + /** + * This is true if the Depends On containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean dependsOnESet; /** * The cached value of the '{@link #getBasicTypes() <em>Basic Types</em>}' containment reference. @@ -163,6 +181,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected BasicTypes basicTypes; + /** + * This is true if the Basic Types containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean basicTypesESet; + /** * The cached value of the '{@link #getFunctionalConstraints() <em>Functional Constraints</em>}' containment reference. * <!-- begin-user-doc --> @@ -173,6 +200,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected FunctionalConstraints functionalConstraints; + /** + * This is true if the Functional Constraints containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean functionalConstraintsESet; + /** * The cached value of the '{@link #getPresenceConditions() <em>Presence Conditions</em>}' containment reference. * <!-- begin-user-doc --> @@ -183,6 +219,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected PresenceConditions presenceConditions; + /** + * This is true if the Presence Conditions containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presenceConditionsESet; + /** * The cached value of the '{@link #getAbbreviations() <em>Abbreviations</em>}' containment reference. * <!-- begin-user-doc --> @@ -193,6 +238,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected Abbreviations abbreviations; + /** + * This is true if the Abbreviations containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean abbreviationsESet; + /** * The cached value of the '{@link #getEnumerations() <em>Enumerations</em>}' containment reference. * <!-- begin-user-doc --> @@ -203,6 +257,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected Enumerations enumerations; + /** + * This is true if the Enumerations containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean enumerationsESet; + /** * The cached value of the '{@link #getConstructedAttributes() <em>Constructed Attributes</em>}' containment reference. * <!-- begin-user-doc --> @@ -213,6 +276,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected ConstructedAttributes constructedAttributes; + /** + * This is true if the Constructed Attributes containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean constructedAttributesESet; + /** * The cached value of the '{@link #getCDCs() <em>CD Cs</em>}' containment reference. * <!-- begin-user-doc --> @@ -223,6 +295,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected CDCs cDCs; + /** + * This is true if the CD Cs containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean cDCsESet; + /** * The cached value of the '{@link #getLNClasses() <em>LN Classes</em>}' containment reference. * <!-- begin-user-doc --> @@ -233,6 +314,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected LNClasses lNClasses; + /** + * This is true if the LN Classes containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean lNClassesESet; + /** * The default value of the '{@link #getDescID() <em>Desc ID</em>}' attribute. * <!-- begin-user-doc --> @@ -253,6 +343,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #getId() <em>Id</em>}' attribute. * <!-- begin-user-doc --> @@ -273,6 +372,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> @@ -351,6 +459,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected XMLGregorianCalendar umlDate = UML_DATE_EDEFAULT; + /** + * This is true if the Uml Date attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean umlDateESet; + /** * The default value of the '{@link #getUmlVersion() <em>Uml Version</em>}' attribute. * <!-- begin-user-doc --> @@ -371,6 +488,15 @@ public class NSImpl extends CopyrightedImpl implements NS { */ protected String umlVersion = UML_VERSION_EDEFAULT; + /** + * This is true if the Uml Version attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean umlVersionESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -408,9 +534,11 @@ public class NSImpl extends CopyrightedImpl implements NS { public NotificationChain basicSetChanges( Changes newChanges, NotificationChain msgs ) { Changes oldChanges = changes; changes = newChanges; + boolean oldChangesESet = changesESet; + changesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__CHANGES, - oldChanges, newChanges ); + oldChanges, newChanges, !oldChangesESet ); if( msgs == null ) msgs = notification; else @@ -428,15 +556,61 @@ public class NSImpl extends CopyrightedImpl implements NS { public void setChanges( Changes newChanges ) { if( newChanges != changes ) { NotificationChain msgs = null; - if( changes != null ) msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CHANGES, null, msgs ); + if( changes != null ) msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, NsdPackage.CHANGES__NS, + Changes.class, msgs ); if( newChanges != null ) msgs = ( ( InternalEObject ) newChanges ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CHANGES, null, msgs ); + NsdPackage.CHANGES__NS, Changes.class, msgs ); msgs = basicSetChanges( newChanges, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__CHANGES, newChanges, newChanges ) ); + else { + boolean oldChangesESet = changesESet; + changesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS__CHANGES, newChanges, newChanges, !oldChangesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetChanges( NotificationChain msgs ) { + Changes oldChanges = changes; + changes = null; + boolean oldChangesESet = changesESet; + changesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__CHANGES, + oldChanges, null, oldChangesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetChanges() { + if( changes != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, NsdPackage.CHANGES__NS, Changes.class, msgs ); + msgs = basicUnsetChanges( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldChangesESet = changesESet; + changesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__CHANGES, null, null, oldChangesESet ) ); + } } /** @@ -445,7 +619,17 @@ public class NSImpl extends CopyrightedImpl implements NS { * @generated */ @Override - public DependsOnType getDependsOn() { + public boolean isSetChanges() { + return changesESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public DependsOn getDependsOn() { return dependsOn; } @@ -454,12 +638,14 @@ public class NSImpl extends CopyrightedImpl implements NS { * <!-- end-user-doc --> * @generated */ - public NotificationChain basicSetDependsOn( DependsOnType newDependsOn, NotificationChain msgs ) { - DependsOnType oldDependsOn = dependsOn; + public NotificationChain basicSetDependsOn( DependsOn newDependsOn, NotificationChain msgs ) { + DependsOn oldDependsOn = dependsOn; dependsOn = newDependsOn; + boolean oldDependsOnESet = dependsOnESet; + dependsOnESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__DEPENDS_ON, - oldDependsOn, newDependsOn ); + oldDependsOn, newDependsOn, !oldDependsOnESet ); if( msgs == null ) msgs = notification; else @@ -474,18 +660,75 @@ public class NSImpl extends CopyrightedImpl implements NS { * @generated */ @Override - public void setDependsOn( DependsOnType newDependsOn ) { + public void setDependsOn( DependsOn newDependsOn ) { if( newDependsOn != dependsOn ) { NotificationChain msgs = null; if( dependsOn != null ) msgs = ( ( InternalEObject ) dependsOn ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__DEPENDS_ON, null, msgs ); + NsdPackage.DEPENDS_ON__NS, DependsOn.class, msgs ); if( newDependsOn != null ) msgs = ( ( InternalEObject ) newDependsOn ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__DEPENDS_ON, null, msgs ); + NsdPackage.DEPENDS_ON__NS, DependsOn.class, msgs ); msgs = basicSetDependsOn( newDependsOn, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__DEPENDS_ON, newDependsOn, newDependsOn ) ); + else { + boolean oldDependsOnESet = dependsOnESet; + dependsOnESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS__DEPENDS_ON, newDependsOn, newDependsOn, !oldDependsOnESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetDependsOn( NotificationChain msgs ) { + DependsOn oldDependsOn = dependsOn; + dependsOn = null; + boolean oldDependsOnESet = dependsOnESet; + dependsOnESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__DEPENDS_ON, + oldDependsOn, null, oldDependsOnESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDependsOn() { + if( dependsOn != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) dependsOn ).eInverseRemove( this, NsdPackage.DEPENDS_ON__NS, DependsOn.class, + msgs ); + msgs = basicUnsetDependsOn( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldDependsOnESet = dependsOnESet; + dependsOnESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__DEPENDS_ON, null, null, oldDependsOnESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDependsOn() { + return dependsOnESet; } /** @@ -506,9 +749,11 @@ public class NSImpl extends CopyrightedImpl implements NS { public NotificationChain basicSetBasicTypes( BasicTypes newBasicTypes, NotificationChain msgs ) { BasicTypes oldBasicTypes = basicTypes; basicTypes = newBasicTypes; + boolean oldBasicTypesESet = basicTypesESet; + basicTypesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__BASIC_TYPES, - oldBasicTypes, newBasicTypes ); + oldBasicTypes, newBasicTypes, !oldBasicTypesESet ); if( msgs == null ) msgs = notification; else @@ -527,14 +772,71 @@ public class NSImpl extends CopyrightedImpl implements NS { if( newBasicTypes != basicTypes ) { NotificationChain msgs = null; if( basicTypes != null ) msgs = ( ( InternalEObject ) basicTypes ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__BASIC_TYPES, null, msgs ); + NsdPackage.BASIC_TYPES__NS, BasicTypes.class, msgs ); if( newBasicTypes != null ) msgs = ( ( InternalEObject ) newBasicTypes ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__BASIC_TYPES, null, msgs ); + NsdPackage.BASIC_TYPES__NS, BasicTypes.class, msgs ); msgs = basicSetBasicTypes( newBasicTypes, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__BASIC_TYPES, newBasicTypes, newBasicTypes ) ); + else { + boolean oldBasicTypesESet = basicTypesESet; + basicTypesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS__BASIC_TYPES, newBasicTypes, newBasicTypes, !oldBasicTypesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetBasicTypes( NotificationChain msgs ) { + BasicTypes oldBasicTypes = basicTypes; + basicTypes = null; + boolean oldBasicTypesESet = basicTypesESet; + basicTypesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__BASIC_TYPES, oldBasicTypes, null, oldBasicTypesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetBasicTypes() { + if( basicTypes != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) basicTypes ).eInverseRemove( this, NsdPackage.BASIC_TYPES__NS, + BasicTypes.class, msgs ); + msgs = basicUnsetBasicTypes( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldBasicTypesESet = basicTypesESet; + basicTypesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__BASIC_TYPES, null, null, oldBasicTypesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetBasicTypes() { + return basicTypesESet; } /** @@ -556,9 +858,12 @@ public class NSImpl extends CopyrightedImpl implements NS { NotificationChain msgs ) { FunctionalConstraints oldFunctionalConstraints = functionalConstraints; functionalConstraints = newFunctionalConstraints; + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, oldFunctionalConstraints, newFunctionalConstraints ); + NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, oldFunctionalConstraints, newFunctionalConstraints, + !oldFunctionalConstraintsESet ); if( msgs == null ) msgs = notification; else @@ -577,14 +882,73 @@ public class NSImpl extends CopyrightedImpl implements NS { if( newFunctionalConstraints != functionalConstraints ) { NotificationChain msgs = null; if( functionalConstraints != null ) msgs = ( ( InternalEObject ) functionalConstraints ) - .eInverseRemove( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, null, msgs ); + .eInverseRemove( this, NsdPackage.FUNCTIONAL_CONSTRAINTS__NS, FunctionalConstraints.class, msgs ); if( newFunctionalConstraints != null ) msgs = ( ( InternalEObject ) newFunctionalConstraints ) - .eInverseAdd( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, null, msgs ); + .eInverseAdd( this, NsdPackage.FUNCTIONAL_CONSTRAINTS__NS, FunctionalConstraints.class, msgs ); msgs = basicSetFunctionalConstraints( newFunctionalConstraints, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, newFunctionalConstraints, newFunctionalConstraints ) ); + else { + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, + newFunctionalConstraints, newFunctionalConstraints, !oldFunctionalConstraintsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetFunctionalConstraints( NotificationChain msgs ) { + FunctionalConstraints oldFunctionalConstraints = functionalConstraints; + functionalConstraints = null; + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, oldFunctionalConstraints, null, + oldFunctionalConstraintsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetFunctionalConstraints() { + if( functionalConstraints != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) functionalConstraints ).eInverseRemove( this, + NsdPackage.FUNCTIONAL_CONSTRAINTS__NS, FunctionalConstraints.class, msgs ); + msgs = basicUnsetFunctionalConstraints( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, null, null, oldFunctionalConstraintsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetFunctionalConstraints() { + return functionalConstraintsESet; } /** @@ -606,9 +970,12 @@ public class NSImpl extends CopyrightedImpl implements NS { NotificationChain msgs ) { PresenceConditions oldPresenceConditions = presenceConditions; presenceConditions = newPresenceConditions; + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__PRESENCE_CONDITIONS, oldPresenceConditions, newPresenceConditions ); + NsdPackage.NS__PRESENCE_CONDITIONS, oldPresenceConditions, newPresenceConditions, + !oldPresenceConditionsESet ); if( msgs == null ) msgs = notification; else @@ -627,14 +994,72 @@ public class NSImpl extends CopyrightedImpl implements NS { if( newPresenceConditions != presenceConditions ) { NotificationChain msgs = null; if( presenceConditions != null ) msgs = ( ( InternalEObject ) presenceConditions ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__PRESENCE_CONDITIONS, null, msgs ); + NsdPackage.PRESENCE_CONDITIONS__NS, PresenceConditions.class, msgs ); if( newPresenceConditions != null ) msgs = ( ( InternalEObject ) newPresenceConditions ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__PRESENCE_CONDITIONS, null, msgs ); + NsdPackage.PRESENCE_CONDITIONS__NS, PresenceConditions.class, msgs ); msgs = basicSetPresenceConditions( newPresenceConditions, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__PRESENCE_CONDITIONS, newPresenceConditions, newPresenceConditions ) ); + else { + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__PRESENCE_CONDITIONS, + newPresenceConditions, newPresenceConditions, !oldPresenceConditionsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetPresenceConditions( NotificationChain msgs ) { + PresenceConditions oldPresenceConditions = presenceConditions; + presenceConditions = null; + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__PRESENCE_CONDITIONS, oldPresenceConditions, null, oldPresenceConditionsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresenceConditions() { + if( presenceConditions != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) presenceConditions ).eInverseRemove( this, NsdPackage.PRESENCE_CONDITIONS__NS, + PresenceConditions.class, msgs ); + msgs = basicUnsetPresenceConditions( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__PRESENCE_CONDITIONS, null, null, oldPresenceConditionsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresenceConditions() { + return presenceConditionsESet; } /** @@ -655,9 +1080,11 @@ public class NSImpl extends CopyrightedImpl implements NS { public NotificationChain basicSetAbbreviations( Abbreviations newAbbreviations, NotificationChain msgs ) { Abbreviations oldAbbreviations = abbreviations; abbreviations = newAbbreviations; + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__ABBREVIATIONS, oldAbbreviations, newAbbreviations ); + NsdPackage.NS__ABBREVIATIONS, oldAbbreviations, newAbbreviations, !oldAbbreviationsESet ); if( msgs == null ) msgs = notification; else @@ -676,14 +1103,71 @@ public class NSImpl extends CopyrightedImpl implements NS { if( newAbbreviations != abbreviations ) { NotificationChain msgs = null; if( abbreviations != null ) msgs = ( ( InternalEObject ) abbreviations ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__ABBREVIATIONS, null, msgs ); + NsdPackage.ABBREVIATIONS__NS, Abbreviations.class, msgs ); if( newAbbreviations != null ) msgs = ( ( InternalEObject ) newAbbreviations ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__ABBREVIATIONS, null, msgs ); + NsdPackage.ABBREVIATIONS__NS, Abbreviations.class, msgs ); msgs = basicSetAbbreviations( newAbbreviations, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__ABBREVIATIONS, newAbbreviations, newAbbreviations ) ); + else { + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS__ABBREVIATIONS, newAbbreviations, newAbbreviations, !oldAbbreviationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetAbbreviations( NotificationChain msgs ) { + Abbreviations oldAbbreviations = abbreviations; + abbreviations = null; + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__ABBREVIATIONS, oldAbbreviations, null, oldAbbreviationsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetAbbreviations() { + if( abbreviations != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) abbreviations ).eInverseRemove( this, NsdPackage.ABBREVIATIONS__NS, + Abbreviations.class, msgs ); + msgs = basicUnsetAbbreviations( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__ABBREVIATIONS, null, null, oldAbbreviationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetAbbreviations() { + return abbreviationsESet; } /** @@ -701,12 +1185,59 @@ public class NSImpl extends CopyrightedImpl implements NS { * <!-- end-user-doc --> * @generated */ - public NotificationChain basicSetEnumerations( Enumerations newEnumerations, NotificationChain msgs ) { + public NotificationChain basicSetEnumerations( Enumerations newEnumerations, NotificationChain msgs ) { + Enumerations oldEnumerations = enumerations; + enumerations = newEnumerations; + boolean oldEnumerationsESet = enumerationsESet; + enumerationsESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__ENUMERATIONS, + oldEnumerations, newEnumerations, !oldEnumerationsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setEnumerations( Enumerations newEnumerations ) { + if( newEnumerations != enumerations ) { + NotificationChain msgs = null; + if( enumerations != null ) msgs = ( ( InternalEObject ) enumerations ).eInverseRemove( this, + NsdPackage.ENUMERATIONS__NS, Enumerations.class, msgs ); + if( newEnumerations != null ) msgs = ( ( InternalEObject ) newEnumerations ).eInverseAdd( this, + NsdPackage.ENUMERATIONS__NS, Enumerations.class, msgs ); + msgs = basicSetEnumerations( newEnumerations, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldEnumerationsESet = enumerationsESet; + enumerationsESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS__ENUMERATIONS, newEnumerations, newEnumerations, !oldEnumerationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetEnumerations( NotificationChain msgs ) { Enumerations oldEnumerations = enumerations; - enumerations = newEnumerations; + enumerations = null; + boolean oldEnumerationsESet = enumerationsESet; + enumerationsESet = false; if( eNotificationRequired() ) { - ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__ENUMERATIONS, - oldEnumerations, newEnumerations ); + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__ENUMERATIONS, oldEnumerations, null, oldEnumerationsESet ); if( msgs == null ) msgs = notification; else @@ -721,18 +1252,30 @@ public class NSImpl extends CopyrightedImpl implements NS { * @generated */ @Override - public void setEnumerations( Enumerations newEnumerations ) { - if( newEnumerations != enumerations ) { + public void unsetEnumerations() { + if( enumerations != null ) { NotificationChain msgs = null; - if( enumerations != null ) msgs = ( ( InternalEObject ) enumerations ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__ENUMERATIONS, null, msgs ); - if( newEnumerations != null ) msgs = ( ( InternalEObject ) newEnumerations ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__ENUMERATIONS, null, msgs ); - msgs = basicSetEnumerations( newEnumerations, msgs ); + msgs = ( ( InternalEObject ) enumerations ).eInverseRemove( this, NsdPackage.ENUMERATIONS__NS, + Enumerations.class, msgs ); + msgs = basicUnsetEnumerations( msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__ENUMERATIONS, newEnumerations, newEnumerations ) ); + else { + boolean oldEnumerationsESet = enumerationsESet; + enumerationsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__ENUMERATIONS, null, null, oldEnumerationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetEnumerations() { + return enumerationsESet; } /** @@ -754,9 +1297,12 @@ public class NSImpl extends CopyrightedImpl implements NS { NotificationChain msgs ) { ConstructedAttributes oldConstructedAttributes = constructedAttributes; constructedAttributes = newConstructedAttributes; + boolean oldConstructedAttributesESet = constructedAttributesESet; + constructedAttributesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, oldConstructedAttributes, newConstructedAttributes ); + NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, oldConstructedAttributes, newConstructedAttributes, + !oldConstructedAttributesESet ); if( msgs == null ) msgs = notification; else @@ -775,14 +1321,73 @@ public class NSImpl extends CopyrightedImpl implements NS { if( newConstructedAttributes != constructedAttributes ) { NotificationChain msgs = null; if( constructedAttributes != null ) msgs = ( ( InternalEObject ) constructedAttributes ) - .eInverseRemove( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, null, msgs ); + .eInverseRemove( this, NsdPackage.CONSTRUCTED_ATTRIBUTES__NS, ConstructedAttributes.class, msgs ); if( newConstructedAttributes != null ) msgs = ( ( InternalEObject ) newConstructedAttributes ) - .eInverseAdd( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, null, msgs ); + .eInverseAdd( this, NsdPackage.CONSTRUCTED_ATTRIBUTES__NS, ConstructedAttributes.class, msgs ); msgs = basicSetConstructedAttributes( newConstructedAttributes, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, newConstructedAttributes, newConstructedAttributes ) ); + else { + boolean oldConstructedAttributesESet = constructedAttributesESet; + constructedAttributesESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, + newConstructedAttributes, newConstructedAttributes, !oldConstructedAttributesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetConstructedAttributes( NotificationChain msgs ) { + ConstructedAttributes oldConstructedAttributes = constructedAttributes; + constructedAttributes = null; + boolean oldConstructedAttributesESet = constructedAttributesESet; + constructedAttributesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, oldConstructedAttributes, null, + oldConstructedAttributesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetConstructedAttributes() { + if( constructedAttributes != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) constructedAttributes ).eInverseRemove( this, + NsdPackage.CONSTRUCTED_ATTRIBUTES__NS, ConstructedAttributes.class, msgs ); + msgs = basicUnsetConstructedAttributes( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldConstructedAttributesESet = constructedAttributesESet; + constructedAttributesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, null, null, oldConstructedAttributesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetConstructedAttributes() { + return constructedAttributesESet; } /** @@ -803,9 +1408,11 @@ public class NSImpl extends CopyrightedImpl implements NS { public NotificationChain basicSetCDCs( CDCs newCDCs, NotificationChain msgs ) { CDCs oldCDCs = cDCs; cDCs = newCDCs; + boolean oldCDCsESet = cDCsESet; + cDCsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__CD_CS, - oldCDCs, newCDCs ); + oldCDCs, newCDCs, !oldCDCsESet ); if( msgs == null ) msgs = notification; else @@ -823,15 +1430,71 @@ public class NSImpl extends CopyrightedImpl implements NS { public void setCDCs( CDCs newCDCs ) { if( newCDCs != cDCs ) { NotificationChain msgs = null; - if( cDCs != null ) msgs = ( ( InternalEObject ) cDCs ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CD_CS, null, msgs ); - if( newCDCs != null ) msgs = ( ( InternalEObject ) newCDCs ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CD_CS, null, msgs ); + if( cDCs != null ) + msgs = ( ( InternalEObject ) cDCs ).eInverseRemove( this, NsdPackage.CD_CS__NS, CDCs.class, msgs ); + if( newCDCs != null ) + msgs = ( ( InternalEObject ) newCDCs ).eInverseAdd( this, NsdPackage.CD_CS__NS, CDCs.class, msgs ); msgs = basicSetCDCs( newCDCs, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__CD_CS, newCDCs, newCDCs ) ); + else { + boolean oldCDCsESet = cDCsESet; + cDCsESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__CD_CS, + newCDCs, newCDCs, !oldCDCsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetCDCs( NotificationChain msgs ) { + CDCs oldCDCs = cDCs; + cDCs = null; + boolean oldCDCsESet = cDCsESet; + cDCsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__CD_CS, + oldCDCs, null, oldCDCsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetCDCs() { + if( cDCs != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) cDCs ).eInverseRemove( this, NsdPackage.CD_CS__NS, CDCs.class, msgs ); + msgs = basicUnsetCDCs( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldCDCsESet = cDCsESet; + cDCsESet = false; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__CD_CS, null, null, oldCDCsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetCDCs() { + return cDCsESet; } /** @@ -852,9 +1515,11 @@ public class NSImpl extends CopyrightedImpl implements NS { public NotificationChain basicSetLNClasses( LNClasses newLNClasses, NotificationChain msgs ) { LNClasses oldLNClasses = lNClasses; lNClasses = newLNClasses; + boolean oldLNClassesESet = lNClassesESet; + lNClassesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.NS__LN_CLASSES, - oldLNClasses, newLNClasses ); + oldLNClasses, newLNClasses, !oldLNClassesESet ); if( msgs == null ) msgs = notification; else @@ -873,14 +1538,71 @@ public class NSImpl extends CopyrightedImpl implements NS { if( newLNClasses != lNClasses ) { NotificationChain msgs = null; if( lNClasses != null ) msgs = ( ( InternalEObject ) lNClasses ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__LN_CLASSES, null, msgs ); + NsdPackage.LN_CLASSES__NS, LNClasses.class, msgs ); if( newLNClasses != null ) msgs = ( ( InternalEObject ) newLNClasses ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.NS__LN_CLASSES, null, msgs ); + NsdPackage.LN_CLASSES__NS, LNClasses.class, msgs ); msgs = basicSetLNClasses( newLNClasses, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__LN_CLASSES, newLNClasses, newLNClasses ) ); + else { + boolean oldLNClassesESet = lNClassesESet; + lNClassesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NS__LN_CLASSES, newLNClasses, newLNClasses, !oldLNClassesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetLNClasses( NotificationChain msgs ) { + LNClasses oldLNClasses = lNClasses; + lNClasses = null; + boolean oldLNClassesESet = lNClassesESet; + lNClassesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__LN_CLASSES, + oldLNClasses, null, oldLNClassesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetLNClasses() { + if( lNClasses != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) lNClasses ).eInverseRemove( this, NsdPackage.LN_CLASSES__NS, LNClasses.class, + msgs ); + msgs = basicUnsetLNClasses( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldLNClassesESet = lNClassesESet; + lNClassesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__LN_CLASSES, null, null, oldLNClassesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetLNClasses() { + return lNClassesESet; } /** @@ -902,8 +1624,35 @@ public class NSImpl extends CopyrightedImpl implements NS { public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__DESC_ID, oldDescID, descID ) ); + boolean oldDescIDESet = descIDESet; + descIDESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__DESC_ID, + oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__DESC_ID, + oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -925,8 +1674,35 @@ public class NSImpl extends CopyrightedImpl implements NS { public void setId( String newId ) { String oldId = id; id = newId; + boolean oldIdESet = idESet; + idESet = true; if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__ID, oldId, id ) ); + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; } /** @@ -1099,8 +1875,35 @@ public class NSImpl extends CopyrightedImpl implements NS { public void setUmlDate( XMLGregorianCalendar newUmlDate ) { XMLGregorianCalendar oldUmlDate = umlDate; umlDate = newUmlDate; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__UML_DATE, oldUmlDate, umlDate ) ); + boolean oldUmlDateESet = umlDateESet; + umlDateESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.NS__UML_DATE, + oldUmlDate, umlDate, !oldUmlDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUmlDate() { + XMLGregorianCalendar oldUmlDate = umlDate; + boolean oldUmlDateESet = umlDateESet; + umlDate = UML_DATE_EDEFAULT; + umlDateESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.NS__UML_DATE, + oldUmlDate, UML_DATE_EDEFAULT, oldUmlDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUmlDate() { + return umlDateESet; } /** @@ -1122,8 +1925,87 @@ public class NSImpl extends CopyrightedImpl implements NS { public void setUmlVersion( String newUmlVersion ) { String oldUmlVersion = umlVersion; umlVersion = newUmlVersion; + boolean oldUmlVersionESet = umlVersionESet; + umlVersionESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.NS__UML_VERSION, oldUmlVersion, umlVersion ) ); + NsdPackage.NS__UML_VERSION, oldUmlVersion, umlVersion, !oldUmlVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUmlVersion() { + String oldUmlVersion = umlVersion; + boolean oldUmlVersionESet = umlVersionESet; + umlVersion = UML_VERSION_EDEFAULT; + umlVersionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.NS__UML_VERSION, oldUmlVersion, UML_VERSION_EDEFAULT, oldUmlVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUmlVersion() { + return umlVersionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.NS__CHANGES: + if( changes != null ) msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CHANGES, null, msgs ); + return basicSetChanges( ( Changes ) otherEnd, msgs ); + case NsdPackage.NS__DEPENDS_ON: + if( dependsOn != null ) msgs = ( ( InternalEObject ) dependsOn ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__DEPENDS_ON, null, msgs ); + return basicSetDependsOn( ( DependsOn ) otherEnd, msgs ); + case NsdPackage.NS__BASIC_TYPES: + if( basicTypes != null ) msgs = ( ( InternalEObject ) basicTypes ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__BASIC_TYPES, null, msgs ); + return basicSetBasicTypes( ( BasicTypes ) otherEnd, msgs ); + case NsdPackage.NS__FUNCTIONAL_CONSTRAINTS: + if( functionalConstraints != null ) msgs = ( ( InternalEObject ) functionalConstraints ) + .eInverseRemove( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__FUNCTIONAL_CONSTRAINTS, null, msgs ); + return basicSetFunctionalConstraints( ( FunctionalConstraints ) otherEnd, msgs ); + case NsdPackage.NS__PRESENCE_CONDITIONS: + if( presenceConditions != null ) msgs = ( ( InternalEObject ) presenceConditions ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__PRESENCE_CONDITIONS, null, msgs ); + return basicSetPresenceConditions( ( PresenceConditions ) otherEnd, msgs ); + case NsdPackage.NS__ABBREVIATIONS: + if( abbreviations != null ) msgs = ( ( InternalEObject ) abbreviations ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__ABBREVIATIONS, null, msgs ); + return basicSetAbbreviations( ( Abbreviations ) otherEnd, msgs ); + case NsdPackage.NS__ENUMERATIONS: + if( enumerations != null ) msgs = ( ( InternalEObject ) enumerations ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__ENUMERATIONS, null, msgs ); + return basicSetEnumerations( ( Enumerations ) otherEnd, msgs ); + case NsdPackage.NS__CONSTRUCTED_ATTRIBUTES: + if( constructedAttributes != null ) msgs = ( ( InternalEObject ) constructedAttributes ) + .eInverseRemove( this, EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CONSTRUCTED_ATTRIBUTES, null, msgs ); + return basicSetConstructedAttributes( ( ConstructedAttributes ) otherEnd, msgs ); + case NsdPackage.NS__CD_CS: + if( cDCs != null ) msgs = ( ( InternalEObject ) cDCs ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__CD_CS, null, msgs ); + return basicSetCDCs( ( CDCs ) otherEnd, msgs ); + case NsdPackage.NS__LN_CLASSES: + if( lNClasses != null ) msgs = ( ( InternalEObject ) lNClasses ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.NS__LN_CLASSES, null, msgs ); + return basicSetLNClasses( ( LNClasses ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -1185,25 +2067,25 @@ public class NSImpl extends CopyrightedImpl implements NS { public NotificationChain eInverseRemove( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.NS__CHANGES: - return basicSetChanges( null, msgs ); + return basicUnsetChanges( msgs ); case NsdPackage.NS__DEPENDS_ON: - return basicSetDependsOn( null, msgs ); + return basicUnsetDependsOn( msgs ); case NsdPackage.NS__BASIC_TYPES: - return basicSetBasicTypes( null, msgs ); + return basicUnsetBasicTypes( msgs ); case NsdPackage.NS__FUNCTIONAL_CONSTRAINTS: - return basicSetFunctionalConstraints( null, msgs ); + return basicUnsetFunctionalConstraints( msgs ); case NsdPackage.NS__PRESENCE_CONDITIONS: - return basicSetPresenceConditions( null, msgs ); + return basicUnsetPresenceConditions( msgs ); case NsdPackage.NS__ABBREVIATIONS: - return basicSetAbbreviations( null, msgs ); + return basicUnsetAbbreviations( msgs ); case NsdPackage.NS__ENUMERATIONS: - return basicSetEnumerations( null, msgs ); + return basicUnsetEnumerations( msgs ); case NsdPackage.NS__CONSTRUCTED_ATTRIBUTES: - return basicSetConstructedAttributes( null, msgs ); + return basicUnsetConstructedAttributes( msgs ); case NsdPackage.NS__CD_CS: - return basicSetCDCs( null, msgs ); + return basicUnsetCDCs( msgs ); case NsdPackage.NS__LN_CLASSES: - return basicSetLNClasses( null, msgs ); + return basicUnsetLNClasses( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -1274,7 +2156,7 @@ public class NSImpl extends CopyrightedImpl implements NS { setChanges( ( Changes ) newValue ); return; case NsdPackage.NS__DEPENDS_ON: - setDependsOn( ( DependsOnType ) newValue ); + setDependsOn( ( DependsOn ) newValue ); return; case NsdPackage.NS__BASIC_TYPES: setBasicTypes( ( BasicTypes ) newValue ); @@ -1337,40 +2219,40 @@ public class NSImpl extends CopyrightedImpl implements NS { unsetVersion(); return; case NsdPackage.NS__CHANGES: - setChanges( ( Changes ) null ); + unsetChanges(); return; case NsdPackage.NS__DEPENDS_ON: - setDependsOn( ( DependsOnType ) null ); + unsetDependsOn(); return; case NsdPackage.NS__BASIC_TYPES: - setBasicTypes( ( BasicTypes ) null ); + unsetBasicTypes(); return; case NsdPackage.NS__FUNCTIONAL_CONSTRAINTS: - setFunctionalConstraints( ( FunctionalConstraints ) null ); + unsetFunctionalConstraints(); return; case NsdPackage.NS__PRESENCE_CONDITIONS: - setPresenceConditions( ( PresenceConditions ) null ); + unsetPresenceConditions(); return; case NsdPackage.NS__ABBREVIATIONS: - setAbbreviations( ( Abbreviations ) null ); + unsetAbbreviations(); return; case NsdPackage.NS__ENUMERATIONS: - setEnumerations( ( Enumerations ) null ); + unsetEnumerations(); return; case NsdPackage.NS__CONSTRUCTED_ATTRIBUTES: - setConstructedAttributes( ( ConstructedAttributes ) null ); + unsetConstructedAttributes(); return; case NsdPackage.NS__CD_CS: - setCDCs( ( CDCs ) null ); + unsetCDCs(); return; case NsdPackage.NS__LN_CLASSES: - setLNClasses( ( LNClasses ) null ); + unsetLNClasses(); return; case NsdPackage.NS__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.NS__ID: - setId( ID_EDEFAULT ); + unsetId(); return; case NsdPackage.NS__PUBLICATION_STAGE: unsetPublicationStage(); @@ -1379,10 +2261,10 @@ public class NSImpl extends CopyrightedImpl implements NS { unsetRevision(); return; case NsdPackage.NS__UML_DATE: - setUmlDate( UML_DATE_EDEFAULT ); + unsetUmlDate(); return; case NsdPackage.NS__UML_VERSION: - setUmlVersion( UML_VERSION_EDEFAULT ); + unsetUmlVersion(); return; } super.eUnset( featureID ); @@ -1401,37 +2283,37 @@ public class NSImpl extends CopyrightedImpl implements NS { case NsdPackage.NS__VERSION: return isSetVersion(); case NsdPackage.NS__CHANGES: - return changes != null; + return isSetChanges(); case NsdPackage.NS__DEPENDS_ON: - return dependsOn != null; + return isSetDependsOn(); case NsdPackage.NS__BASIC_TYPES: - return basicTypes != null; + return isSetBasicTypes(); case NsdPackage.NS__FUNCTIONAL_CONSTRAINTS: - return functionalConstraints != null; + return isSetFunctionalConstraints(); case NsdPackage.NS__PRESENCE_CONDITIONS: - return presenceConditions != null; + return isSetPresenceConditions(); case NsdPackage.NS__ABBREVIATIONS: - return abbreviations != null; + return isSetAbbreviations(); case NsdPackage.NS__ENUMERATIONS: - return enumerations != null; + return isSetEnumerations(); case NsdPackage.NS__CONSTRUCTED_ATTRIBUTES: - return constructedAttributes != null; + return isSetConstructedAttributes(); case NsdPackage.NS__CD_CS: - return cDCs != null; + return isSetCDCs(); case NsdPackage.NS__LN_CLASSES: - return lNClasses != null; + return isSetLNClasses(); case NsdPackage.NS__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.NS__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); + return isSetId(); case NsdPackage.NS__PUBLICATION_STAGE: return isSetPublicationStage(); case NsdPackage.NS__REVISION: return isSetRevision(); case NsdPackage.NS__UML_DATE: - return UML_DATE_EDEFAULT == null ? umlDate != null : !UML_DATE_EDEFAULT.equals( umlDate ); + return isSetUmlDate(); case NsdPackage.NS__UML_VERSION: - return UML_VERSION_EDEFAULT == null ? umlVersion != null : !UML_VERSION_EDEFAULT.equals( umlVersion ); + return isSetUmlVersion(); } return super.eIsSet( featureID ); } @@ -1497,9 +2379,15 @@ public class NSImpl extends CopyrightedImpl implements NS { else result.append( "<unset>" ); result.append( ", descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ", publicationStage: " ); if( publicationStageESet ) result.append( publicationStage ); @@ -1511,9 +2399,15 @@ public class NSImpl extends CopyrightedImpl implements NS { else result.append( "<unset>" ); result.append( ", umlDate: " ); - result.append( umlDate ); + if( umlDateESet ) + result.append( umlDate ); + else + result.append( "<unset>" ); result.append( ", umlVersion: " ); - result.append( umlVersion ); + if( umlVersionESet ) + result.append( umlVersion ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NoticeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NoticeImpl.java index 5b0f107..c484594 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NoticeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NoticeImpl.java @@ -19,17 +19,21 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CopyrightNotice; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Notice; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +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.BasicFeatureMap; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.FeatureMap; import org.eclipse.emf.ecore.util.InternalEList; @@ -42,6 +46,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NoticeImpl#getMixed <em>Mixed</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NoticeImpl#getCopyrightNotice <em>Copyright Notice</em>}</li> * </ul> * * @generated @@ -89,6 +94,64 @@ public class NoticeImpl extends MinimalEObjectImpl.Container implements Notice { return mixed; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CopyrightNotice getCopyrightNotice() { + if( eContainerFeatureID() != NsdPackage.NOTICE__COPYRIGHT_NOTICE ) return null; + return ( CopyrightNotice ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCopyrightNotice( CopyrightNotice newCopyrightNotice, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCopyrightNotice, NsdPackage.NOTICE__COPYRIGHT_NOTICE, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCopyrightNotice( CopyrightNotice newCopyrightNotice ) { + if( newCopyrightNotice != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.NOTICE__COPYRIGHT_NOTICE && newCopyrightNotice != null ) ) { + if( EcoreUtil.isAncestor( this, newCopyrightNotice ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCopyrightNotice != null ) msgs = ( ( InternalEObject ) newCopyrightNotice ).eInverseAdd( this, + NsdPackage.COPYRIGHT_NOTICE__NOTICE, CopyrightNotice.class, msgs ); + msgs = basicSetCopyrightNotice( newCopyrightNotice, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NOTICE__COPYRIGHT_NOTICE, newCopyrightNotice, newCopyrightNotice ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCopyrightNotice( ( CopyrightNotice ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -99,10 +162,27 @@ public class NoticeImpl extends MinimalEObjectImpl.Container implements Notice { switch( featureID ) { case NsdPackage.NOTICE__MIXED: return ( ( InternalEList< ? > ) getMixed() ).basicRemove( otherEnd, msgs ); + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + return basicSetCopyrightNotice( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + return eInternalContainer().eInverseRemove( this, NsdPackage.COPYRIGHT_NOTICE__NOTICE, + CopyrightNotice.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -114,6 +194,8 @@ public class NoticeImpl extends MinimalEObjectImpl.Container implements Notice { case NsdPackage.NOTICE__MIXED: if( coreType ) return getMixed(); return ( ( FeatureMap.Internal ) getMixed() ).getWrapper(); + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + return getCopyrightNotice(); } return super.eGet( featureID, resolve, coreType ); } @@ -129,6 +211,9 @@ public class NoticeImpl extends MinimalEObjectImpl.Container implements Notice { case NsdPackage.NOTICE__MIXED: ( ( FeatureMap.Internal ) getMixed() ).set( newValue ); return; + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + setCopyrightNotice( ( CopyrightNotice ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -144,6 +229,9 @@ public class NoticeImpl extends MinimalEObjectImpl.Container implements Notice { case NsdPackage.NOTICE__MIXED: getMixed().clear(); return; + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + setCopyrightNotice( ( CopyrightNotice ) null ); + return; } super.eUnset( featureID ); } @@ -158,6 +246,8 @@ public class NoticeImpl extends MinimalEObjectImpl.Container implements Notice { switch( featureID ) { case NsdPackage.NOTICE__MIXED: return mixed != null && !mixed.isEmpty(); + case NsdPackage.NOTICE__COPYRIGHT_NOTICE: + return getCopyrightNotice() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java index d46713b..e85a0d7 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdFactoryImpl.java @@ -80,8 +80,8 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory { switch( eClass.getClassifierID() ) { case NsdPackage.APPLIES_TO_TYPE: return createAppliesToType(); - case NsdPackage.DEPENDS_ON_TYPE: - return createDependsOnType(); + case NsdPackage.DEPENDS_ON: + return createDependsOn(); case NsdPackage.DOCUMENT_ROOT: return createDocumentRoot(); case NsdPackage.SERVICE_TYPE: @@ -166,8 +166,6 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory { return createServiceNsUsage(); case NsdPackage.SERVICE_PARAMETER: return createServiceParameter(); - case NsdPackage.SERVICE_TYPE_REALIZATION: - return createServiceTypeRealization(); case NsdPackage.SERVICE_TYPE_REALIZATIONS: return createServiceTypeRealizations(); case NsdPackage.SUB_DATA_ATTRIBUTE: @@ -278,9 +276,9 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory { * @generated */ @Override - public DependsOnType createDependsOnType() { - DependsOnTypeImpl dependsOnType = new DependsOnTypeImpl(); - return dependsOnType; + public DependsOn createDependsOn() { + DependsOnImpl dependsOn = new DependsOnImpl(); + return dependsOn; } /** @@ -745,17 +743,6 @@ public class NsdFactoryImpl extends EFactoryImpl implements NsdFactory { return serviceParameter; } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public ServiceTypeRealization createServiceTypeRealization() { - ServiceTypeRealizationImpl serviceTypeRealization = new ServiceTypeRealizationImpl(); - return serviceTypeRealization; - } - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java index 5656b9f..4655503 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdPackageImpl.java @@ -40,7 +40,7 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Doc; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentRoot; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DocumentedClass; @@ -70,7 +70,6 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNsUsage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject; @@ -112,7 +111,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * <!-- end-user-doc --> * @generated */ - private EClass dependsOnTypeEClass = null; + private EClass dependsOnEClass = null; /** * <!-- begin-user-doc --> @@ -415,13 +414,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { */ private EClass serviceParameterEClass = null; - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - private EClass serviceTypeRealizationEClass = null; - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -668,8 +660,18 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EClass getDependsOnType() { - return dependsOnTypeEClass; + public EReference getAppliesToType_ServiceNsUsage() { + return ( EReference ) appliesToTypeEClass.getEStructuralFeatures().get( 3 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getDependsOn() { + return dependsOnEClass; } /** @@ -678,8 +680,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getDependsOnType_Id() { - return ( EAttribute ) dependsOnTypeEClass.getEStructuralFeatures().get( 0 ); + public EAttribute getDependsOn_Id() { + return ( EAttribute ) dependsOnEClass.getEStructuralFeatures().get( 0 ); } /** @@ -688,8 +690,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getDependsOnType_PublicationStage() { - return ( EAttribute ) dependsOnTypeEClass.getEStructuralFeatures().get( 1 ); + public EAttribute getDependsOn_PublicationStage() { + return ( EAttribute ) dependsOnEClass.getEStructuralFeatures().get( 1 ); } /** @@ -698,8 +700,18 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getDependsOnType_Revision() { - return ( EAttribute ) dependsOnTypeEClass.getEStructuralFeatures().get( 2 ); + public EAttribute getDependsOn_Revision() { + return ( EAttribute ) dependsOnEClass.getEStructuralFeatures().get( 2 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDependsOn_NS() { + return ( EReference ) dependsOnEClass.getEStructuralFeatures().get( 3 ); } /** @@ -758,7 +770,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EReference getDocumentRoot_Copyright() { + public EReference getDocumentRoot_NS() { return ( EReference ) documentRootEClass.getEStructuralFeatures().get( 4 ); } @@ -768,7 +780,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EReference getDocumentRoot_NS() { + public EReference getDocumentRoot_NSDoc() { return ( EReference ) documentRootEClass.getEStructuralFeatures().get( 5 ); } @@ -778,7 +790,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EReference getDocumentRoot_NSDoc() { + public EReference getDocumentRoot_ServiceNS() { return ( EReference ) documentRootEClass.getEStructuralFeatures().get( 6 ); } @@ -788,8 +800,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EReference getDocumentRoot_ServiceNS() { - return ( EReference ) documentRootEClass.getEStructuralFeatures().get( 7 ); + public EClass getServiceType() { + return serviceTypeEClass; } /** @@ -798,8 +810,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EClass getServiceType() { - return serviceTypeEClass; + public EAttribute getServiceType_Name() { + return ( EAttribute ) serviceTypeEClass.getEStructuralFeatures().get( 0 ); } /** @@ -808,8 +820,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getServiceType_Name() { - return ( EAttribute ) serviceTypeEClass.getEStructuralFeatures().get( 0 ); + public EReference getServiceType_ApplicableServices() { + return ( EReference ) serviceTypeEClass.getEStructuralFeatures().get( 1 ); } /** @@ -842,6 +854,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) abbreviationEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getAbbreviation_Abbreviations() { + return ( EReference ) abbreviationEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -862,6 +884,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) abbreviationsEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getAbbreviations_NS() { + return ( EReference ) abbreviationsEClass.getEStructuralFeatures().get( 1 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getAbbreviations_ServiceNS() { + return ( EReference ) abbreviationsEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -882,6 +924,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) abstractLNClassEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getAbstractLNClass_LNClasses() { + return ( EReference ) abstractLNClassEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -982,6 +1034,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) applicableServicesEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getApplicableServices_FunctionalConstraint() { + return ( EReference ) applicableServicesEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1012,6 +1074,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) basicTypeEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getBasicType_BasicTypes() { + return ( EReference ) basicTypeEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1032,6 +1104,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) basicTypesEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getBasicTypes_NS() { + return ( EReference ) basicTypesEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1122,6 +1204,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) cdcEClass.getEStructuralFeatures().get( 7 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getCDC_CDCs() { + return ( EReference ) cdcEClass.getEStructuralFeatures().get( 8 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1142,6 +1234,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) cdCsEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getCDCs_NS() { + return ( EReference ) cdCsEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1192,6 +1294,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) changesEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getChanges_NS() { + return ( EReference ) changesEClass.getEStructuralFeatures().get( 4 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getChanges_ServiceNS() { + return ( EReference ) changesEClass.getEStructuralFeatures().get( 5 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1222,6 +1344,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) constructedAttributeEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConstructedAttribute_ConstructedAttributes() { + return ( EReference ) constructedAttributeEClass.getEStructuralFeatures().get( 2 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConstructedAttribute_ServiceTypeRealizations() { + return ( EReference ) constructedAttributeEClass.getEStructuralFeatures().get( 3 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1242,6 +1384,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) constructedAttributesEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConstructedAttributes_NS() { + return ( EReference ) constructedAttributesEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1292,6 +1444,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) copyrightNoticeEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getCopyrightNotice_Copyrighted() { + return ( EReference ) copyrightNoticeEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1472,6 +1634,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) dataAttributeEClass.getEStructuralFeatures().get( 16 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_CDC() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 17 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1592,6 +1764,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) dataObjectEClass.getEStructuralFeatures().get( 10 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataObject_AnyLNClass() { + return ( EReference ) dataObjectEClass.getEStructuralFeatures().get( 11 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1612,6 +1794,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) dataSetMemberOfEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataSetMemberOf_ApplicableServices() { + return ( EReference ) dataSetMemberOfEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1662,6 +1854,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) docEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDoc_NSDoc() { + return ( EReference ) docEClass.getEStructuralFeatures().get( 4 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1742,6 +1944,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) enumerationEClass.getEStructuralFeatures().get( 2 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getEnumeration_Enumerations() { + return ( EReference ) enumerationEClass.getEStructuralFeatures().get( 3 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1762,6 +1974,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) enumerationsEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getEnumerations_NS() { + return ( EReference ) enumerationsEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1812,6 +2034,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) functionalConstraintEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctionalConstraint_FunctionalConstraints() { + return ( EReference ) functionalConstraintEClass.getEStructuralFeatures().get( 4 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1832,6 +2064,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) functionalConstraintsEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctionalConstraints_NS() { + return ( EReference ) functionalConstraintsEClass.getEStructuralFeatures().get( 1 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctionalConstraints_ServiceNS() { + return ( EReference ) functionalConstraintsEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1872,6 +2124,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) licenseEClass.getEStructuralFeatures().get( 2 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getLicense_CopyrightNotice() { + return ( EReference ) licenseEClass.getEStructuralFeatures().get( 3 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1902,6 +2164,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) literalEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getLiteral_Enumeration() { + return ( EReference ) literalEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1942,6 +2214,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) lnClassEClass.getEStructuralFeatures().get( 2 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getLNClass_LNClasses() { + return ( EReference ) lnClassEClass.getEStructuralFeatures().get( 3 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1972,6 +2254,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) lnClassesEClass.getEStructuralFeatures().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getLNClasses_NS() { + return ( EReference ) lnClassesEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1992,6 +2284,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) noticeEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getNotice_CopyrightNotice() { + return ( EReference ) noticeEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2292,6 +2594,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) presenceConditionEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceCondition_PresenceConditions() { + return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 4 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2312,6 +2624,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) presenceConditionsEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceConditions_NS() { + return ( EReference ) presenceConditionsEClass.getEStructuralFeatures().get( 1 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceConditions_ServiceNS() { + return ( EReference ) presenceConditionsEClass.getEStructuralFeatures().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2338,8 +2670,28 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getServiceCDC_Cdc() { - return ( EAttribute ) serviceCDCEClass.getEStructuralFeatures().get( 1 ); + public EAttribute getServiceCDC_Cdc() { + return ( EAttribute ) serviceCDCEClass.getEStructuralFeatures().get( 1 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getServiceCDC_Variant() { + return ( EAttribute ) serviceCDCEClass.getEStructuralFeatures().get( 2 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getServiceCDC_ServiceCDCs() { + return ( EReference ) serviceCDCEClass.getEStructuralFeatures().get( 3 ); } /** @@ -2348,8 +2700,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getServiceCDC_Variant() { - return ( EAttribute ) serviceCDCEClass.getEStructuralFeatures().get( 2 ); + public EClass getServiceCDCs() { + return serviceCDCsEClass; } /** @@ -2358,8 +2710,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EClass getServiceCDCs() { - return serviceCDCsEClass; + public EReference getServiceCDCs_ServiceCDC() { + return ( EReference ) serviceCDCsEClass.getEStructuralFeatures().get( 0 ); } /** @@ -2368,8 +2720,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EReference getServiceCDCs_ServiceCDC() { - return ( EReference ) serviceCDCsEClass.getEStructuralFeatures().get( 0 ); + public EReference getServiceCDCs_ServiceNS() { + return ( EReference ) serviceCDCsEClass.getEStructuralFeatures().get( 1 ); } /** @@ -2392,6 +2744,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) serviceConstructedAttributeEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getServiceConstructedAttribute_ServiceConstructedAttribute() { + return ( EReference ) serviceConstructedAttributeEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2412,6 +2774,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) serviceConstructedAttributesEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getServiceConstructedAttributes_ServiceNS() { + return ( EReference ) serviceConstructedAttributesEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2512,6 +2884,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) serviceDataAttributeEClass.getEStructuralFeatures().get( 8 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getServiceDataAttribute_ServiceCDC() { + return ( EReference ) serviceDataAttributeEClass.getEStructuralFeatures().get( 9 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2702,6 +3084,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) serviceNsUsageEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getServiceNsUsage_ApplicableServiceNS() { + return ( EReference ) serviceNsUsageEClass.getEStructuralFeatures().get( 4 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2778,68 +3170,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EClass getServiceTypeRealization() { - return serviceTypeRealizationEClass; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getServiceTypeRealization_Fc() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 0 ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getServiceTypeRealization_Name() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 1 ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getServiceTypeRealization_PresCond() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 2 ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getServiceTypeRealization_PresCondArgs() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 3 ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getServiceTypeRealization_PresCondArgsID() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 4 ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public EAttribute getServiceTypeRealization_Type() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 5 ); + public EReference getServiceParameter_CDC() { + return ( EReference ) serviceParameterEClass.getEStructuralFeatures().get( 6 ); } /** @@ -2848,8 +3180,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EAttribute getServiceTypeRealization_TypeKind() { - return ( EAttribute ) serviceTypeRealizationEClass.getEStructuralFeatures().get( 6 ); + public EClass getServiceTypeRealizations() { + return serviceTypeRealizationsEClass; } /** @@ -2858,8 +3190,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EClass getServiceTypeRealizations() { - return serviceTypeRealizationsEClass; + public EReference getServiceTypeRealizations_ServiceTypeRealization() { + return ( EReference ) serviceTypeRealizationsEClass.getEStructuralFeatures().get( 0 ); } /** @@ -2868,8 +3200,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { * @generated */ @Override - public EReference getServiceTypeRealizations_ServiceTypeRealization() { - return ( EReference ) serviceTypeRealizationsEClass.getEStructuralFeatures().get( 0 ); + public EReference getServiceTypeRealizations_ServiceNS() { + return ( EReference ) serviceTypeRealizationsEClass.getEStructuralFeatures().get( 1 ); } /** @@ -3012,6 +3344,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) subDataAttributeEClass.getEStructuralFeatures().get( 12 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getSubDataAttribute_ConstructedAttribute() { + return ( EReference ) subDataAttributeEClass.getEStructuralFeatures().get( 13 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3132,6 +3474,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) subDataObjectEClass.getEStructuralFeatures().get( 10 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getSubDataObject_CDC() { + return ( EReference ) subDataObjectEClass.getEStructuralFeatures().get( 11 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3345,34 +3697,40 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( appliesToTypeEClass, APPLIES_TO_TYPE__ID ); createEAttribute( appliesToTypeEClass, APPLIES_TO_TYPE__PUBLICATION_STAGE ); createEAttribute( appliesToTypeEClass, APPLIES_TO_TYPE__REVISION ); + createEReference( appliesToTypeEClass, APPLIES_TO_TYPE__SERVICE_NS_USAGE ); - dependsOnTypeEClass = createEClass( DEPENDS_ON_TYPE ); - createEAttribute( dependsOnTypeEClass, DEPENDS_ON_TYPE__ID ); - createEAttribute( dependsOnTypeEClass, DEPENDS_ON_TYPE__PUBLICATION_STAGE ); - createEAttribute( dependsOnTypeEClass, DEPENDS_ON_TYPE__REVISION ); + dependsOnEClass = createEClass( DEPENDS_ON ); + createEAttribute( dependsOnEClass, DEPENDS_ON__ID ); + createEAttribute( dependsOnEClass, DEPENDS_ON__PUBLICATION_STAGE ); + createEAttribute( dependsOnEClass, DEPENDS_ON__REVISION ); + createEReference( dependsOnEClass, DEPENDS_ON__NS ); documentRootEClass = createEClass( DOCUMENT_ROOT ); createEAttribute( documentRootEClass, DOCUMENT_ROOT__MIXED ); createEReference( documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP ); createEReference( documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION ); createEReference( documentRootEClass, DOCUMENT_ROOT__APPLICABLE_SERVICE_NS ); - createEReference( documentRootEClass, DOCUMENT_ROOT__COPYRIGHT ); createEReference( documentRootEClass, DOCUMENT_ROOT__NS ); createEReference( documentRootEClass, DOCUMENT_ROOT__NS_DOC ); createEReference( documentRootEClass, DOCUMENT_ROOT__SERVICE_NS ); serviceTypeEClass = createEClass( SERVICE_TYPE ); createEAttribute( serviceTypeEClass, SERVICE_TYPE__NAME ); + createEReference( serviceTypeEClass, SERVICE_TYPE__APPLICABLE_SERVICES ); abbreviationEClass = createEClass( ABBREVIATION ); createEAttribute( abbreviationEClass, ABBREVIATION__DESC_ID ); createEAttribute( abbreviationEClass, ABBREVIATION__NAME ); + createEReference( abbreviationEClass, ABBREVIATION__ABBREVIATIONS ); abbreviationsEClass = createEClass( ABBREVIATIONS ); createEReference( abbreviationsEClass, ABBREVIATIONS__ABBREVIATION ); + createEReference( abbreviationsEClass, ABBREVIATIONS__NS ); + createEReference( abbreviationsEClass, ABBREVIATIONS__SERVICE_NS ); abstractLNClassEClass = createEClass( ABSTRACT_LN_CLASS ); createEAttribute( abstractLNClassEClass, ABSTRACT_LN_CLASS__NAME ); + createEReference( abstractLNClassEClass, ABSTRACT_LN_CLASS__LN_CLASSES ); anyLNClassEClass = createEClass( ANY_LN_CLASS ); createEReference( anyLNClassEClass, ANY_LN_CLASS__DATA_OBJECT ); @@ -3386,13 +3744,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { applicableServicesEClass = createEClass( APPLICABLE_SERVICES ); createEReference( applicableServicesEClass, APPLICABLE_SERVICES__SERVICE ); createEReference( applicableServicesEClass, APPLICABLE_SERVICES__DATA_SET_MEMBER_OF ); + createEReference( applicableServicesEClass, APPLICABLE_SERVICES__FUNCTIONAL_CONSTRAINT ); basicTypeEClass = createEClass( BASIC_TYPE ); createEAttribute( basicTypeEClass, BASIC_TYPE__DESC_ID ); createEAttribute( basicTypeEClass, BASIC_TYPE__NAME ); + createEReference( basicTypeEClass, BASIC_TYPE__BASIC_TYPES ); basicTypesEClass = createEClass( BASIC_TYPES ); createEReference( basicTypesEClass, BASIC_TYPES__BASIC_TYPE ); + createEReference( basicTypesEClass, BASIC_TYPES__NS ); cdcEClass = createEClass( CDC ); createEReference( cdcEClass, CDC__SUB_DATA_OBJECT ); @@ -3403,22 +3764,29 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( cdcEClass, CDC__STATISTICS ); createEAttribute( cdcEClass, CDC__TYPE_KIND_PARAMETERIZED ); createEAttribute( cdcEClass, CDC__VARIANT ); + createEReference( cdcEClass, CDC__CD_CS ); cdCsEClass = createEClass( CD_CS ); createEReference( cdCsEClass, CD_CS__CDC ); + createEReference( cdCsEClass, CD_CS__NS ); changesEClass = createEClass( CHANGES ); createEAttribute( changesEClass, CHANGES__CHANGES_ID ); createEAttribute( changesEClass, CHANGES__DATE ); createEAttribute( changesEClass, CHANGES__REVISION ); createEAttribute( changesEClass, CHANGES__TISSUES ); + createEReference( changesEClass, CHANGES__NS ); + createEReference( changesEClass, CHANGES__SERVICE_NS ); constructedAttributeEClass = createEClass( CONSTRUCTED_ATTRIBUTE ); createEReference( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE ); createEAttribute( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__NAME ); + createEReference( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__CONSTRUCTED_ATTRIBUTES ); + createEReference( constructedAttributeEClass, CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS ); constructedAttributesEClass = createEClass( CONSTRUCTED_ATTRIBUTES ); createEReference( constructedAttributesEClass, CONSTRUCTED_ATTRIBUTES__CONSTRUCTED_ATTRIBUTE ); + createEReference( constructedAttributesEClass, CONSTRUCTED_ATTRIBUTES__NS ); copyrightedEClass = createEClass( COPYRIGHTED ); createEReference( copyrightedEClass, COPYRIGHTED__COPYRIGHT ); @@ -3426,6 +3794,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { copyrightNoticeEClass = createEClass( COPYRIGHT_NOTICE ); createEReference( copyrightNoticeEClass, COPYRIGHT_NOTICE__NOTICE ); createEReference( copyrightNoticeEClass, COPYRIGHT_NOTICE__LICENSE ); + createEReference( copyrightNoticeEClass, COPYRIGHT_NOTICE__COPYRIGHTED ); dataAttributeEClass = createEClass( DATA_ATTRIBUTE ); createEAttribute( dataAttributeEClass, DATA_ATTRIBUTE__DCHG ); @@ -3445,6 +3814,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( dataAttributeEClass, DATA_ATTRIBUTE__SIZE_ATTRIBUTE ); createEAttribute( dataAttributeEClass, DATA_ATTRIBUTE__TYPE ); createEAttribute( dataAttributeEClass, DATA_ATTRIBUTE__TYPE_KIND ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__CDC ); dataObjectEClass = createEClass( DATA_OBJECT ); createEAttribute( dataObjectEClass, DATA_OBJECT__DS_PRES_COND ); @@ -3458,15 +3828,18 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( dataObjectEClass, DATA_OBJECT__TYPE ); createEAttribute( dataObjectEClass, DATA_OBJECT__UNDERLYING_TYPE ); createEAttribute( dataObjectEClass, DATA_OBJECT__UNDERLYING_TYPE_KIND ); + createEReference( dataObjectEClass, DATA_OBJECT__ANY_LN_CLASS ); dataSetMemberOfEClass = createEClass( DATA_SET_MEMBER_OF ); createEAttribute( dataSetMemberOfEClass, DATA_SET_MEMBER_OF__CB ); + createEReference( dataSetMemberOfEClass, DATA_SET_MEMBER_OF__APPLICABLE_SERVICES ); docEClass = createEClass( DOC ); createEAttribute( docEClass, DOC__MIXED ); createEAttribute( docEClass, DOC__GROUP ); createEAttribute( docEClass, DOC__ANY ); createEAttribute( docEClass, DOC__ID ); + createEReference( docEClass, DOC__NS_DOC ); documentedClassEClass = createEClass( DOCUMENTED_CLASS ); createEAttribute( documentedClassEClass, DOCUMENTED_CLASS__DEPRECATED ); @@ -3477,39 +3850,49 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEReference( enumerationEClass, ENUMERATION__LITERAL ); createEAttribute( enumerationEClass, ENUMERATION__INHERITED_FROM ); createEAttribute( enumerationEClass, ENUMERATION__NAME ); + createEReference( enumerationEClass, ENUMERATION__ENUMERATIONS ); enumerationsEClass = createEClass( ENUMERATIONS ); createEReference( enumerationsEClass, ENUMERATIONS__ENUMERATION ); + createEReference( enumerationsEClass, ENUMERATIONS__NS ); functionalConstraintEClass = createEClass( FUNCTIONAL_CONSTRAINT ); createEReference( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES ); createEAttribute( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__ABBREVIATION ); createEAttribute( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__DESC_ID ); createEAttribute( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__TITLE_ID ); + createEReference( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS ); functionalConstraintsEClass = createEClass( FUNCTIONAL_CONSTRAINTS ); createEReference( functionalConstraintsEClass, FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT ); + createEReference( functionalConstraintsEClass, FUNCTIONAL_CONSTRAINTS__NS ); + createEReference( functionalConstraintsEClass, FUNCTIONAL_CONSTRAINTS__SERVICE_NS ); licenseEClass = createEClass( LICENSE ); createEAttribute( licenseEClass, LICENSE__MIXED ); createEAttribute( licenseEClass, LICENSE__KIND ); createEAttribute( licenseEClass, LICENSE__URI ); + createEReference( licenseEClass, LICENSE__COPYRIGHT_NOTICE ); literalEClass = createEClass( LITERAL ); createEAttribute( literalEClass, LITERAL__LITERAL_VAL ); createEAttribute( literalEClass, LITERAL__NAME ); + createEReference( literalEClass, LITERAL__ENUMERATION ); lnClassEClass = createEClass( LN_CLASS ); createEAttribute( lnClassEClass, LN_CLASS__CAN_HAVE_LOG ); createEAttribute( lnClassEClass, LN_CLASS__IS_EXTENSION ); createEAttribute( lnClassEClass, LN_CLASS__NAME ); + createEReference( lnClassEClass, LN_CLASS__LN_CLASSES ); lnClassesEClass = createEClass( LN_CLASSES ); createEReference( lnClassesEClass, LN_CLASSES__ABSTRACT_LN_CLASS ); createEReference( lnClassesEClass, LN_CLASSES__LN_CLASS ); + createEReference( lnClassesEClass, LN_CLASSES__NS ); noticeEClass = createEClass( NOTICE ); createEAttribute( noticeEClass, NOTICE__MIXED ); + createEReference( noticeEClass, NOTICE__COPYRIGHT_NOTICE ); nsEClass = createEClass( NS ); createEReference( nsEClass, NS__CHANGES ); @@ -3543,24 +3926,32 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( presenceConditionEClass, PRESENCE_CONDITION__DESC_ID ); createEAttribute( presenceConditionEClass, PRESENCE_CONDITION__NAME ); createEAttribute( presenceConditionEClass, PRESENCE_CONDITION__TITLE_ID ); + createEReference( presenceConditionEClass, PRESENCE_CONDITION__PRESENCE_CONDITIONS ); presenceConditionsEClass = createEClass( PRESENCE_CONDITIONS ); createEReference( presenceConditionsEClass, PRESENCE_CONDITIONS__PRESENCE_CONDITION ); + createEReference( presenceConditionsEClass, PRESENCE_CONDITIONS__NS ); + createEReference( presenceConditionsEClass, PRESENCE_CONDITIONS__SERVICE_NS ); serviceCDCEClass = createEClass( SERVICE_CDC ); createEReference( serviceCDCEClass, SERVICE_CDC__SERVICE_DATA_ATTRIBUTE ); createEAttribute( serviceCDCEClass, SERVICE_CDC__CDC ); createEAttribute( serviceCDCEClass, SERVICE_CDC__VARIANT ); + createEReference( serviceCDCEClass, SERVICE_CDC__SERVICE_CD_CS ); serviceCDCsEClass = createEClass( SERVICE_CD_CS ); createEReference( serviceCDCsEClass, SERVICE_CD_CS__SERVICE_CDC ); + createEReference( serviceCDCsEClass, SERVICE_CD_CS__SERVICE_NS ); serviceConstructedAttributeEClass = createEClass( SERVICE_CONSTRUCTED_ATTRIBUTE ); createEAttribute( serviceConstructedAttributeEClass, SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED ); + createEReference( serviceConstructedAttributeEClass, + SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE ); serviceConstructedAttributesEClass = createEClass( SERVICE_CONSTRUCTED_ATTRIBUTES ); createEReference( serviceConstructedAttributesEClass, SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE ); + createEReference( serviceConstructedAttributesEClass, SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS ); serviceDataAttributeEClass = createEClass( SERVICE_DATA_ATTRIBUTE ); createEAttribute( serviceDataAttributeEClass, SERVICE_DATA_ATTRIBUTE__FC ); @@ -3572,6 +3963,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( serviceDataAttributeEClass, SERVICE_DATA_ATTRIBUTE__TYPE_KIND ); createEAttribute( serviceDataAttributeEClass, SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE ); createEAttribute( serviceDataAttributeEClass, SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND ); + createEReference( serviceDataAttributeEClass, SERVICE_DATA_ATTRIBUTE__SERVICE_CDC ); serviceNSEClass = createEClass( SERVICE_NS ); createEReference( serviceNSEClass, SERVICE_NS__CHANGES ); @@ -3593,6 +3985,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( serviceNsUsageEClass, SERVICE_NS_USAGE__ID ); createEAttribute( serviceNsUsageEClass, SERVICE_NS_USAGE__PUBLICATION_STAGE ); createEAttribute( serviceNsUsageEClass, SERVICE_NS_USAGE__REVISION ); + createEReference( serviceNsUsageEClass, SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS ); serviceParameterEClass = createEClass( SERVICE_PARAMETER ); createEAttribute( serviceParameterEClass, SERVICE_PARAMETER__DEFAULT_VALUE ); @@ -3601,18 +3994,11 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( serviceParameterEClass, SERVICE_PARAMETER__NAME ); createEAttribute( serviceParameterEClass, SERVICE_PARAMETER__TYPE ); createEAttribute( serviceParameterEClass, SERVICE_PARAMETER__TYPE_KIND ); - - serviceTypeRealizationEClass = createEClass( SERVICE_TYPE_REALIZATION ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__FC ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__NAME ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__PRES_COND ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__PRES_COND_ARGS ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__TYPE ); - createEAttribute( serviceTypeRealizationEClass, SERVICE_TYPE_REALIZATION__TYPE_KIND ); + createEReference( serviceParameterEClass, SERVICE_PARAMETER__CDC ); serviceTypeRealizationsEClass = createEClass( SERVICE_TYPE_REALIZATIONS ); createEReference( serviceTypeRealizationsEClass, SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION ); + createEReference( serviceTypeRealizationsEClass, SERVICE_TYPE_REALIZATIONS__SERVICE_NS ); subDataAttributeEClass = createEClass( SUB_DATA_ATTRIBUTE ); createEAttribute( subDataAttributeEClass, SUB_DATA_ATTRIBUTE__DEFAULT_VALUE ); @@ -3628,6 +4014,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( subDataAttributeEClass, SUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE ); createEAttribute( subDataAttributeEClass, SUB_DATA_ATTRIBUTE__TYPE ); createEAttribute( subDataAttributeEClass, SUB_DATA_ATTRIBUTE__TYPE_KIND ); + createEReference( subDataAttributeEClass, SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE ); subDataObjectEClass = createEClass( SUB_DATA_OBJECT ); createEAttribute( subDataObjectEClass, SUB_DATA_OBJECT__IS_ARRAY ); @@ -3641,6 +4028,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( subDataObjectEClass, SUB_DATA_OBJECT__TYPE ); createEAttribute( subDataObjectEClass, SUB_DATA_OBJECT__UNDERLYING_TYPE ); createEAttribute( subDataObjectEClass, SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND ); + createEReference( subDataObjectEClass, SUB_DATA_OBJECT__CDC ); titledClassEClass = createEClass( TITLED_CLASS ); createEAttribute( titledClassEClass, TITLED_CLASS__TITLE_ID ); @@ -3700,7 +4088,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { // Add supertypes to classes appliesToTypeEClass.getESuperTypes().add( this.getNSDObjectWithVersionAndRelease() ); - dependsOnTypeEClass.getESuperTypes().add( this.getNSDObjectWithVersionAndRelease() ); + dependsOnEClass.getESuperTypes().add( this.getNSDObjectWithVersionAndRelease() ); abstractLNClassEClass.getESuperTypes().add( this.getAnyLNClass() ); anyLNClassEClass.getESuperTypes().add( this.getTitledClass() ); applicableServiceNSEClass.getESuperTypes().add( this.getCopyrighted() ); @@ -3729,27 +4117,30 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { // Initialize classes, features, and operations; add parameters initEClass( appliesToTypeEClass, AppliesToType.class, "AppliesToType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getAppliesToType_Id(), ecorePackage.getEString(), "id", null, 1, 1, AppliesToType.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getAppliesToType_Id(), ecorePackage.getEString(), "id", null, 0, 1, AppliesToType.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getAppliesToType_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, AppliesToType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getAppliesToType_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, AppliesToType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getAppliesToType_ServiceNsUsage(), this.getServiceNsUsage(), this.getServiceNsUsage_AppliesTo(), + "serviceNsUsage", null, 0, 1, AppliesToType.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); - initEClass( dependsOnTypeEClass, DependsOnType.class, "DependsOnType", !IS_ABSTRACT, !IS_INTERFACE, + initEClass( dependsOnEClass, DependsOn.class, "DependsOn", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getDependsOnType_Id(), ecorePackage.getEString(), "id", null, 1, 1, DependsOnType.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); - initEAttribute( getDependsOnType_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, - DependsOnType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, - !IS_DERIVED, IS_ORDERED ); - initEAttribute( getDependsOnType_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, - DependsOnType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + initEAttribute( getDependsOn_Id(), ecorePackage.getEString(), "id", null, 0, 1, DependsOn.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getDependsOn_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, + DependsOn.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getDependsOn_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, DependsOn.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getDependsOn_NS(), this.getNS(), this.getNS_DependsOn(), "nS", null, 0, 1, DependsOn.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -3763,108 +4154,129 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEReference( getDocumentRoot_ApplicableServiceNS(), this.getApplicableServiceNS(), null, - "applicableServiceNS", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, - !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED ); - initEReference( getDocumentRoot_Copyright(), this.getCopyrightNotice(), null, "copyright", null, 0, -2, null, - IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, - IS_DERIVED, IS_ORDERED ); - initEReference( getDocumentRoot_NS(), this.getNS(), null, "nS", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED ); - initEReference( getDocumentRoot_NSDoc(), this.getNSDoc(), null, "nSDoc", null, 0, -2, null, IS_TRANSIENT, - IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, + "applicableServiceNS", null, 0, 1, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED ); + initEReference( getDocumentRoot_NS(), this.getNS(), null, "nS", null, 0, 1, null, IS_TRANSIENT, IS_VOLATILE, + IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED ); + initEReference( getDocumentRoot_NSDoc(), this.getNSDoc(), null, "nSDoc", null, 0, 1, null, IS_TRANSIENT, + IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED ); - initEReference( getDocumentRoot_ServiceNS(), this.getServiceNS(), null, "serviceNS", null, 0, -2, null, - IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, + initEReference( getDocumentRoot_ServiceNS(), this.getServiceNS(), null, "serviceNS", null, 0, 1, null, + IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED ); initEClass( serviceTypeEClass, ServiceType.class, "ServiceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getServiceType_Name(), this.getACSIServicesKind(), "name", null, 1, 1, ServiceType.class, + initEAttribute( getServiceType_Name(), this.getACSIServicesKind(), "name", null, 0, 1, ServiceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceType_ApplicableServices(), this.getApplicableServices(), + this.getApplicableServices_Service(), "applicableServices", null, 0, 1, ServiceType.class, IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + !IS_ORDERED ); initEClass( abbreviationEClass, Abbreviation.class, "Abbreviation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getAbbreviation_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, Abbreviation.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); - initEAttribute( getAbbreviation_Name(), ecorePackage.getEString(), "name", null, 1, 1, Abbreviation.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getAbbreviation_Name(), ecorePackage.getEString(), "name", null, 0, 1, Abbreviation.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getAbbreviation_Abbreviations(), this.getAbbreviations(), this.getAbbreviations_Abbreviation(), + "abbreviations", null, 0, 1, Abbreviation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( abbreviationsEClass, Abbreviations.class, "Abbreviations", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getAbbreviations_Abbreviation(), this.getAbbreviation(), null, "abbreviation", null, 1, -1, - Abbreviations.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getAbbreviations_Abbreviation(), this.getAbbreviation(), this.getAbbreviation_Abbreviations(), + "abbreviation", null, 0, -1, Abbreviations.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getAbbreviations_NS(), this.getNS(), this.getNS_Abbreviations(), "nS", null, 0, 1, + Abbreviations.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getAbbreviations_ServiceNS(), this.getServiceNS(), this.getServiceNS_Abbreviations(), + "serviceNS", null, 0, 1, Abbreviations.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( abstractLNClassEClass, AbstractLNClass.class, "AbstractLNClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getAbstractLNClass_Name(), ecorePackage.getEString(), "name", null, 1, 1, AbstractLNClass.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getAbstractLNClass_Name(), ecorePackage.getEString(), "name", null, 0, 1, AbstractLNClass.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getAbstractLNClass_LNClasses(), this.getLNClasses(), this.getLNClasses_AbstractLNClass(), + "lNClasses", null, 0, 1, AbstractLNClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( anyLNClassEClass, AnyLNClass.class, "AnyLNClass", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getAnyLNClass_DataObject(), this.getDataObject(), null, "dataObject", null, 0, -1, - AnyLNClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getAnyLNClass_DataObject(), this.getDataObject(), this.getDataObject_AnyLNClass(), "dataObject", + null, 0, -1, AnyLNClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEAttribute( getAnyLNClass_Base(), ecorePackage.getEString(), "base", null, 0, 1, AnyLNClass.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEClass( applicableServiceNSEClass, ApplicableServiceNS.class, "ApplicableServiceNS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getApplicableServiceNS_ServiceNsUsage(), this.getServiceNsUsage(), null, "serviceNsUsage", null, - 1, -1, ApplicableServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, - !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getApplicableServiceNS_Date(), theXMLTypePackage.getDateTime(), "date", null, 1, 1, - ApplicableServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getApplicableServiceNS_Version(), theXMLTypePackage.getUnsignedInt(), "version", null, 1, 1, + initEReference( getApplicableServiceNS_ServiceNsUsage(), this.getServiceNsUsage(), + this.getServiceNsUsage_ApplicableServiceNS(), "serviceNsUsage", null, 0, -1, ApplicableServiceNS.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEAttribute( getApplicableServiceNS_Date(), theXMLTypePackage.getDateTime(), "date", null, 0, 1, + ApplicableServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED ); + initEAttribute( getApplicableServiceNS_Version(), theXMLTypePackage.getUnsignedInt(), "version", null, 0, 1, ApplicableServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEClass( applicableServicesEClass, ApplicableServices.class, "ApplicableServices", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getApplicableServices_Service(), this.getServiceType(), null, "service", null, 0, -1, - ApplicableServices.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getApplicableServices_DataSetMemberOf(), this.getDataSetMemberOf(), null, "dataSetMemberOf", - null, 0, -1, ApplicableServices.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, - !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getApplicableServices_Service(), this.getServiceType(), + this.getServiceType_ApplicableServices(), "service", null, 0, -1, ApplicableServices.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEReference( getApplicableServices_DataSetMemberOf(), this.getDataSetMemberOf(), + this.getDataSetMemberOf_ApplicableServices(), "dataSetMemberOf", null, 0, -1, ApplicableServices.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEReference( getApplicableServices_FunctionalConstraint(), this.getFunctionalConstraint(), + this.getFunctionalConstraint_ApplicableServices(), "functionalConstraint", null, 0, 1, + ApplicableServices.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( basicTypeEClass, BasicType.class, "BasicType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getBasicType_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, BasicType.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); - initEAttribute( getBasicType_Name(), ecorePackage.getEString(), "name", null, 1, 1, BasicType.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getBasicType_Name(), ecorePackage.getEString(), "name", null, 0, 1, BasicType.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getBasicType_BasicTypes(), this.getBasicTypes(), this.getBasicTypes_BasicType(), "basicTypes", + null, 0, 1, BasicType.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( basicTypesEClass, BasicTypes.class, "BasicTypes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getBasicTypes_BasicType(), this.getBasicType(), null, "basicType", null, 1, -1, - BasicTypes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getBasicTypes_BasicType(), this.getBasicType(), this.getBasicType_BasicTypes(), "basicType", + null, 0, -1, BasicTypes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getBasicTypes_NS(), this.getNS(), this.getNS_BasicTypes(), "nS", null, 0, 1, BasicTypes.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( cdcEClass, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, "CDC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getCDC_SubDataObject(), this.getSubDataObject(), null, "subDataObject", null, 0, -1, - fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getCDC_DataAttribute(), this.getDataAttribute(), null, "dataAttribute", null, 1, -1, - fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getCDC_ServiceParameter(), this.getServiceParameter(), null, "serviceParameter", null, 0, 1, - fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getCDC_SubDataObject(), this.getSubDataObject(), this.getSubDataObject_CDC(), "subDataObject", + null, 0, -1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getCDC_DataAttribute(), this.getDataAttribute(), this.getDataAttribute_CDC(), "dataAttribute", + null, 0, -1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getCDC_ServiceParameter(), this.getServiceParameter(), this.getServiceParameter_CDC(), + "serviceParameter", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + !IS_ORDERED ); initEAttribute( getCDC_EnumParameterized(), theXMLTypePackage.getBoolean(), "enumParameterized", "false", 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getCDC_Name(), ecorePackage.getEString(), "name", null, 1, 1, + initEAttribute( getCDC_Name(), ecorePackage.getEString(), "name", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getCDC_Statistics(), theXMLTypePackage.getBoolean(), "statistics", "false", 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); @@ -3873,54 +4285,80 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getCDC_Variant(), theXMLTypePackage.getToken(), "variant", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getCDC_CDCs(), this.getCDCs(), this.getCDCs_CDC(), "cDCs", null, 0, 1, + fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( cdCsEClass, CDCs.class, "CDCs", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getCDCs_CDC(), this.getCDC(), null, "cDC", null, 0, -1, CDCs.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getCDCs_CDC(), this.getCDC(), this.getCDC_CDCs(), "cDC", null, 0, -1, CDCs.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + !IS_ORDERED ); + initEReference( getCDCs_NS(), this.getNS(), this.getNS_CDCs(), "nS", null, 0, 1, CDCs.class, IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + !IS_ORDERED ); initEClass( changesEClass, Changes.class, "Changes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getChanges_ChangesID(), ecorePackage.getEString(), "changesID", null, 0, 1, Changes.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getChanges_Date(), theXMLTypePackage.getDate(), "date", null, 0, 1, Changes.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getChanges_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, Changes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getChanges_Tissues(), ecorePackage.getEString(), "tissues", null, 0, 1, Changes.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getChanges_NS(), this.getNS(), this.getNS_Changes(), "nS", null, 0, 1, Changes.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getChanges_ServiceNS(), this.getServiceNS(), this.getServiceNS_Changes(), "serviceNS", null, 0, + 1, Changes.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( constructedAttributeEClass, ConstructedAttribute.class, "ConstructedAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getConstructedAttribute_SubDataAttribute(), this.getSubDataAttribute(), null, - "subDataAttribute", null, 1, -1, ConstructedAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getConstructedAttribute_Name(), ecorePackage.getEString(), "name", null, 1, 1, - ConstructedAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + initEReference( getConstructedAttribute_SubDataAttribute(), this.getSubDataAttribute(), + this.getSubDataAttribute_ConstructedAttribute(), "subDataAttribute", null, 0, -1, + ConstructedAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEAttribute( getConstructedAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, + ConstructedAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getConstructedAttribute_ConstructedAttributes(), this.getConstructedAttributes(), + this.getConstructedAttributes_ConstructedAttribute(), "constructedAttributes", null, 0, 1, + ConstructedAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getConstructedAttribute_ServiceTypeRealizations(), this.getServiceTypeRealizations(), + this.getServiceTypeRealizations_ServiceTypeRealization(), "serviceTypeRealizations", null, 0, 1, + ConstructedAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( constructedAttributesEClass, ConstructedAttributes.class, "ConstructedAttributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getConstructedAttributes_ConstructedAttribute(), this.getConstructedAttribute(), null, - "constructedAttribute", null, 0, -1, ConstructedAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getConstructedAttributes_ConstructedAttribute(), this.getConstructedAttribute(), + this.getConstructedAttribute_ConstructedAttributes(), "constructedAttribute", null, 0, -1, + ConstructedAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getConstructedAttributes_NS(), this.getNS(), this.getNS_ConstructedAttributes(), "nS", null, 0, + 1, ConstructedAttributes.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( copyrightedEClass, Copyrighted.class, "Copyrighted", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getCopyrighted_Copyright(), this.getCopyrightNotice(), null, "copyright", null, 0, 1, - Copyrighted.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getCopyrighted_Copyright(), this.getCopyrightNotice(), this.getCopyrightNotice_Copyrighted(), + "copyright", null, 0, 1, Copyrighted.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( copyrightNoticeEClass, CopyrightNotice.class, "CopyrightNotice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getCopyrightNotice_Notice(), this.getNotice(), null, "notice", null, 1, 1, - CopyrightNotice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getCopyrightNotice_License(), this.getLicense(), null, "license", null, 1, 1, - CopyrightNotice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getCopyrightNotice_Notice(), this.getNotice(), this.getNotice_CopyrightNotice(), "notice", null, + 0, 1, CopyrightNotice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getCopyrightNotice_License(), this.getLicense(), this.getLicense_CopyrightNotice(), "license", + null, 0, 1, CopyrightNotice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getCopyrightNotice_Copyrighted(), this.getCopyrighted(), this.getCopyrighted_Copyright(), + "copyrighted", null, 0, 1, CopyrightNotice.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( dataAttributeEClass, DataAttribute.class, "DataAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -3928,53 +4366,53 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_DefaultValue(), theXMLTypePackage.getNormalizedString(), "defaultValue", null, - 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_Dupd(), theXMLTypePackage.getBoolean(), "dupd", "false", 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getDataAttribute_Fc(), ecorePackage.getEString(), "fc", null, 1, 1, DataAttribute.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getDataAttribute_Fc(), ecorePackage.getEString(), "fc", null, 0, 1, DataAttribute.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_IsArray(), theXMLTypePackage.getBoolean(), "isArray", "false", 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_MaxIndexAttribute(), ecorePackage.getEString(), "maxIndexAttribute", null, 0, - 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_MaxValue(), theXMLTypePackage.getDecimal(), "maxValue", null, 0, 1, - DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_MinIndex(), theXMLTypePackage.getUnsignedInt(), "minIndex", "0", 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_MinValue(), theXMLTypePackage.getDecimal(), "minValue", null, 0, 1, - DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getDataAttribute_Name(), ecorePackage.getEString(), "name", null, 1, 1, DataAttribute.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getDataAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, DataAttribute.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_PresCond(), ecorePackage.getEString(), "presCond", "M", 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_PresCondArgs(), ecorePackage.getEString(), "presCondArgs", null, 0, 1, - DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_PresCondArgsID(), ecorePackage.getEString(), "presCondArgsID", null, 0, 1, - DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_Qchg(), theXMLTypePackage.getBoolean(), "qchg", "false", 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_SizeAttribute(), ecorePackage.getEString(), "sizeAttribute", null, 0, 1, - DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_Type(), ecorePackage.getEString(), "type", null, 0, 1, DataAttribute.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataAttribute_TypeKind(), this.getAttributeTypeKind(), "typeKind", "BASIC", 0, 1, DataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getDataAttribute_CDC(), this.getCDC(), this.getCDC_DataAttribute(), "cDC", null, 0, 1, + DataAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( dataObjectEClass, DataObject.class, "DataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -3982,39 +4420,44 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_DsPresCondArgs(), ecorePackage.getEString(), "dsPresCondArgs", null, 0, 1, - DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_DsPresCondArgsID(), ecorePackage.getEString(), "dsPresCondArgsID", null, 0, 1, - DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getDataObject_Name(), ecorePackage.getEString(), "name", null, 1, 1, DataObject.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getDataObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, DataObject.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_PresCond(), ecorePackage.getEString(), "presCond", "M", 0, 1, DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_PresCondArgs(), ecorePackage.getEString(), "presCondArgs", null, 0, 1, - DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_PresCondArgsID(), ecorePackage.getEString(), "presCondArgsID", null, 0, 1, - DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_Transient(), theXMLTypePackage.getBoolean(), "transient", "false", 0, 1, DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getDataObject_Type(), ecorePackage.getEString(), "type", null, 1, 1, DataObject.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getDataObject_Type(), ecorePackage.getEString(), "type", null, 0, 1, DataObject.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_UnderlyingType(), ecorePackage.getEString(), "underlyingType", null, 0, 1, - DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDataObject_UnderlyingTypeKind(), this.getDefinedAttributeTypeKind(), "underlyingTypeKind", null, 0, 1, DataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getDataObject_AnyLNClass(), this.getAnyLNClass(), this.getAnyLNClass_DataObject(), "anyLNClass", + null, 0, 1, DataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( dataSetMemberOfEClass, DataSetMemberOf.class, "DataSetMemberOf", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getDataSetMemberOf_Cb(), this.getCBKind(), "cb", null, 1, 1, DataSetMemberOf.class, + initEAttribute( getDataSetMemberOf_Cb(), this.getCBKind(), "cb", null, 0, 1, DataSetMemberOf.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getDataSetMemberOf_ApplicableServices(), this.getApplicableServices(), + this.getApplicableServices_DataSetMemberOf(), "applicableServices", null, 0, 1, DataSetMemberOf.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( docEClass, Doc.class, "Doc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getDoc_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, Doc.class, @@ -4024,8 +4467,11 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED ); initEAttribute( getDoc_Any(), ecorePackage.getEFeatureMapEntry(), "any", null, 0, -1, Doc.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED ); - initEAttribute( getDoc_Id(), ecorePackage.getEString(), "id", null, 1, 1, Doc.class, !IS_TRANSIENT, - !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getDoc_Id(), ecorePackage.getEString(), "id", null, 0, 1, Doc.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getDoc_NSDoc(), this.getNSDoc(), this.getNSDoc_Doc(), "nSDoc", null, 0, 1, Doc.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( documentedClassEClass, DocumentedClass.class, "DocumentedClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4033,7 +4479,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { DocumentedClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDocumentedClass_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, - DocumentedClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + DocumentedClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getDocumentedClass_Informative(), theXMLTypePackage.getBoolean(), "informative", "false", 0, 1, DocumentedClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, @@ -4041,42 +4487,60 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEClass( enumerationEClass, Enumeration.class, "Enumeration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getEnumeration_Literal(), this.getLiteral(), null, "literal", null, 1, -1, Enumeration.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getEnumeration_Literal(), this.getLiteral(), this.getLiteral_Enumeration(), "literal", null, 0, + -1, Enumeration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEAttribute( getEnumeration_InheritedFrom(), ecorePackage.getEString(), "inheritedFrom", null, 0, 1, - Enumeration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + Enumeration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getEnumeration_Name(), ecorePackage.getEString(), "name", null, 1, 1, Enumeration.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getEnumeration_Name(), ecorePackage.getEString(), "name", null, 0, 1, Enumeration.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getEnumeration_Enumerations(), this.getEnumerations(), this.getEnumerations_Enumeration(), + "enumerations", null, 0, 1, Enumeration.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( enumerationsEClass, Enumerations.class, "Enumerations", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getEnumerations_Enumeration(), this.getEnumeration(), null, "enumeration", null, 0, -1, - Enumerations.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getEnumerations_Enumeration(), this.getEnumeration(), this.getEnumeration_Enumerations(), + "enumeration", null, 0, -1, Enumerations.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getEnumerations_NS(), this.getNS(), this.getNS_Enumerations(), "nS", null, 0, 1, + Enumerations.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( functionalConstraintEClass, FunctionalConstraint.class, "FunctionalConstraint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getFunctionalConstraint_ApplicableServices(), this.getApplicableServices(), null, - "applicableServices", null, 0, 1, FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getFunctionalConstraint_Abbreviation(), ecorePackage.getEString(), "abbreviation", null, 1, 1, - FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + initEReference( getFunctionalConstraint_ApplicableServices(), this.getApplicableServices(), + this.getApplicableServices_FunctionalConstraint(), "applicableServices", null, 0, 1, + FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEAttribute( getFunctionalConstraint_Abbreviation(), ecorePackage.getEString(), "abbreviation", null, 0, 1, + FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getFunctionalConstraint_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, - FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getFunctionalConstraint_TitleID(), ecorePackage.getEString(), "titleID", null, 0, 1, - FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + FunctionalConstraint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getFunctionalConstraint_FunctionalConstraints(), this.getFunctionalConstraints(), + this.getFunctionalConstraints_FunctionalConstraint(), "functionalConstraints", null, 0, 1, + FunctionalConstraint.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( functionalConstraintsEClass, FunctionalConstraints.class, "FunctionalConstraints", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getFunctionalConstraints_FunctionalConstraint(), this.getFunctionalConstraint(), null, - "functionalConstraint", null, 1, -1, FunctionalConstraints.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getFunctionalConstraints_FunctionalConstraint(), this.getFunctionalConstraint(), + this.getFunctionalConstraint_FunctionalConstraints(), "functionalConstraint", null, 0, -1, + FunctionalConstraints.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getFunctionalConstraints_NS(), this.getNS(), this.getNS_FunctionalConstraints(), "nS", null, 0, + 1, FunctionalConstraints.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getFunctionalConstraints_ServiceNS(), this.getServiceNS(), + this.getServiceNS_FunctionalConstraints(), "serviceNS", null, 0, 1, FunctionalConstraints.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( licenseEClass, License.class, "License", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getLicense_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, License.class, @@ -4085,14 +4549,19 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEAttribute( getLicense_Kind(), this.getLicenseKind(), "kind", null, 0, 1, License.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getLicense_Uri(), theXMLTypePackage.getNormalizedString(), "uri", null, 0, 1, License.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getLicense_CopyrightNotice(), this.getCopyrightNotice(), this.getCopyrightNotice_License(), + "copyrightNotice", null, 0, 1, License.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( literalEClass, Literal.class, "Literal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getLiteral_LiteralVal(), theXMLTypePackage.getInt(), "literalVal", null, 1, 1, Literal.class, + initEAttribute( getLiteral_LiteralVal(), theXMLTypePackage.getInt(), "literalVal", null, 0, 1, Literal.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getLiteral_Name(), ecorePackage.getEString(), "name", null, 1, 1, Literal.class, !IS_TRANSIENT, - !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getLiteral_Name(), ecorePackage.getEString(), "name", null, 0, 1, Literal.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getLiteral_Enumeration(), this.getEnumeration(), this.getEnumeration_Literal(), "enumeration", + null, 0, 1, Literal.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( lnClassEClass, LNClass.class, "LNClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getLNClass_CanHaveLOG(), theXMLTypePackage.getBoolean(), "canHaveLOG", "false", 0, 1, @@ -4101,61 +4570,73 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEAttribute( getLNClass_IsExtension(), theXMLTypePackage.getBoolean(), "isExtension", "false", 0, 1, LNClass.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getLNClass_Name(), ecorePackage.getEString(), "name", null, 1, 1, LNClass.class, !IS_TRANSIENT, - !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getLNClass_Name(), ecorePackage.getEString(), "name", null, 0, 1, LNClass.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getLNClass_LNClasses(), this.getLNClasses(), this.getLNClasses_LNClass(), "lNClasses", null, 0, + 1, LNClass.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( lnClassesEClass, LNClasses.class, "LNClasses", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getLNClasses_AbstractLNClass(), this.getAbstractLNClass(), null, "abstractLNClass", null, 0, -1, + initEReference( getLNClasses_AbstractLNClass(), this.getAbstractLNClass(), this.getAbstractLNClass_LNClasses(), + "abstractLNClass", null, 0, -1, LNClasses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getLNClasses_LNClass(), this.getLNClass(), this.getLNClass_LNClasses(), "lNClass", null, 0, -1, LNClasses.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getLNClasses_LNClass(), this.getLNClass(), null, "lNClass", null, 0, -1, LNClasses.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getLNClasses_NS(), this.getNS(), this.getNS_LNClasses(), "nS", null, 0, 1, LNClasses.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( noticeEClass, Notice.class, "Notice", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getNotice_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, Notice.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getNotice_CopyrightNotice(), this.getCopyrightNotice(), this.getCopyrightNotice_Notice(), + "copyrightNotice", null, 0, 1, Notice.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( nsEClass, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, "NS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getNS_Changes(), this.getChanges(), null, "changes", null, 0, 1, - fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_DependsOn(), this.getDependsOnType(), null, "dependsOn", null, 0, 1, + initEReference( getNS_Changes(), this.getChanges(), this.getChanges_NS(), "changes", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_BasicTypes(), this.getBasicTypes(), null, "basicTypes", null, 0, 1, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_DependsOn(), this.getDependsOn(), this.getDependsOn_NS(), "dependsOn", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_FunctionalConstraints(), this.getFunctionalConstraints(), null, "functionalConstraints", - null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_PresenceConditions(), this.getPresenceConditions(), null, "presenceConditions", null, 0, - 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_Abbreviations(), this.getAbbreviations(), null, "abbreviations", null, 0, 1, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_BasicTypes(), this.getBasicTypes(), this.getBasicTypes_NS(), "basicTypes", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_Enumerations(), this.getEnumerations(), null, "enumerations", null, 0, 1, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_FunctionalConstraints(), this.getFunctionalConstraints(), + this.getFunctionalConstraints_NS(), "functionalConstraints", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_ConstructedAttributes(), this.getConstructedAttributes(), null, "constructedAttributes", + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_PresenceConditions(), this.getPresenceConditions(), this.getPresenceConditions_NS(), + "presenceConditions", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_Abbreviations(), this.getAbbreviations(), this.getAbbreviations_NS(), "abbreviations", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_CDCs(), this.getCDCs(), null, "cDCs", null, 0, 1, + IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_Enumerations(), this.getEnumerations(), this.getEnumerations_NS(), "enumerations", null, + 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_ConstructedAttributes(), this.getConstructedAttributes(), + this.getConstructedAttributes_NS(), "constructedAttributes", null, 0, 1, + fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_CDCs(), this.getCDCs(), this.getCDCs_NS(), "cDCs", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getNS_LNClasses(), this.getLNClasses(), null, "lNClasses", null, 0, 1, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getNS_LNClasses(), this.getLNClasses(), this.getLNClasses_NS(), "lNClasses", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEAttribute( getNS_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getNS_Id(), ecorePackage.getEString(), "id", null, 1, 1, + IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getNS_Id(), ecorePackage.getEString(), "id", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNS_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); @@ -4164,260 +4645,279 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNS_UmlDate(), theXMLTypePackage.getDateTime(), "umlDate", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNS_UmlVersion(), ecorePackage.getEString(), "umlVersion", null, 0, 1, fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEClass( nsDocEClass, NSDoc.class, "NSDoc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getNSDoc_Doc(), this.getDoc(), null, "doc", null, 1, -1, NSDoc.class, !IS_TRANSIENT, - !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); - initEAttribute( getNSDoc_Id(), ecorePackage.getEString(), "id", null, 1, 1, NSDoc.class, !IS_TRANSIENT, - !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getNSDoc_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 1, 1, NSDoc.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEReference( getNSDoc_Doc(), this.getDoc(), this.getDoc_NSDoc(), "doc", null, 0, -1, NSDoc.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEAttribute( getNSDoc_Id(), ecorePackage.getEString(), "id", null, 0, 1, NSDoc.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getNSDoc_Lang(), theXMLTypePackage.getLanguage(), "lang", null, 0, 1, NSDoc.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNSDoc_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, NSDoc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNSDoc_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, NSDoc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNSDoc_UmlDate(), theXMLTypePackage.getDateTime(), "umlDate", null, 0, 1, NSDoc.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNSDoc_UmlVersion(), ecorePackage.getEString(), "umlVersion", null, 0, 1, NSDoc.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEClass( presenceConditionEClass, PresenceCondition.class, "PresenceCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getPresenceCondition_Argument(), ecorePackage.getEString(), "argument", null, 0, 1, - PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getPresenceCondition_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, - PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getPresenceCondition_Name(), ecorePackage.getEString(), "name", null, 1, 1, - PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + initEAttribute( getPresenceCondition_Name(), ecorePackage.getEString(), "name", null, 0, 1, + PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getPresenceCondition_TitleID(), ecorePackage.getEString(), "titleID", null, 0, 1, - PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + PresenceCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getPresenceCondition_PresenceConditions(), this.getPresenceConditions(), + this.getPresenceConditions_PresenceCondition(), "presenceConditions", null, 0, 1, + PresenceCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( presenceConditionsEClass, PresenceConditions.class, "PresenceConditions", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getPresenceConditions_PresenceCondition(), this.getPresenceCondition(), null, - "presenceCondition", null, 1, -1, PresenceConditions.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getPresenceConditions_PresenceCondition(), this.getPresenceCondition(), + this.getPresenceCondition_PresenceConditions(), "presenceCondition", null, 0, -1, + PresenceConditions.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getPresenceConditions_NS(), this.getNS(), this.getNS_PresenceConditions(), "nS", null, 0, 1, + PresenceConditions.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getPresenceConditions_ServiceNS(), this.getServiceNS(), this.getServiceNS_PresenceConditions(), + "serviceNS", null, 0, 1, PresenceConditions.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceCDCEClass, ServiceCDC.class, "ServiceCDC", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getServiceCDC_ServiceDataAttribute(), this.getServiceDataAttribute(), null, - "serviceDataAttribute", null, 1, -1, ServiceCDC.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceCDC_ServiceDataAttribute(), this.getServiceDataAttribute(), + this.getServiceDataAttribute_ServiceCDC(), "serviceDataAttribute", null, 0, -1, ServiceCDC.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); initEAttribute( getServiceCDC_Cdc(), ecorePackage.getEString(), "cdc", null, 1, 1, ServiceCDC.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceCDC_Variant(), theXMLTypePackage.getToken(), "variant", null, 0, 1, ServiceCDC.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceCDC_ServiceCDCs(), this.getServiceCDCs(), this.getServiceCDCs_ServiceCDC(), + "serviceCDCs", null, 0, 1, ServiceCDC.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceCDCsEClass, ServiceCDCs.class, "ServiceCDCs", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getServiceCDCs_ServiceCDC(), this.getServiceCDC(), null, "serviceCDC", null, 0, -1, - ServiceCDCs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceCDCs_ServiceCDC(), this.getServiceCDC(), this.getServiceCDC_ServiceCDCs(), + "serviceCDC", null, 0, -1, ServiceCDCs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceCDCs_ServiceNS(), this.getServiceNS(), this.getServiceNS_ServiceCDCs(), "serviceNS", + null, 0, 1, ServiceCDCs.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceConstructedAttributeEClass, ServiceConstructedAttribute.class, "ServiceConstructedAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getServiceConstructedAttribute_TypeKindParameterized(), theXMLTypePackage.getBoolean(), "typeKindParameterized", "false", 0, 1, ServiceConstructedAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceConstructedAttribute_ServiceConstructedAttribute(), + this.getServiceConstructedAttributes(), + this.getServiceConstructedAttributes_ServiceConstructedAttribute(), "serviceConstructedAttribute", null, + 0, 1, ServiceConstructedAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceConstructedAttributesEClass, ServiceConstructedAttributes.class, "ServiceConstructedAttributes", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEReference( getServiceConstructedAttributes_ServiceConstructedAttribute(), - this.getServiceConstructedAttribute(), null, "serviceConstructedAttribute", null, 0, -1, - ServiceConstructedAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, - !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + this.getServiceConstructedAttribute(), + this.getServiceConstructedAttribute_ServiceConstructedAttribute(), "serviceConstructedAttribute", null, + 0, -1, ServiceConstructedAttributes.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceConstructedAttributes_ServiceNS(), this.getServiceNS(), + this.getServiceNS_ServiceConstructedAttributes(), "serviceNS", null, 0, 1, + ServiceConstructedAttributes.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceDataAttributeEClass, ServiceDataAttribute.class, "ServiceDataAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getServiceDataAttribute_Fc(), ecorePackage.getEString(), "fc", null, 1, 1, - ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + initEAttribute( getServiceDataAttribute_Fc(), ecorePackage.getEString(), "fc", null, 0, 1, + ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceDataAttribute_Name(), ecorePackage.getEString(), "name", null, 1, 1, - ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + initEAttribute( getServiceDataAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, + ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_PresCond(), ecorePackage.getEString(), "presCond", "M", 0, 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_PresCondArgs(), ecorePackage.getEString(), "presCondArgs", null, 0, 1, - ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_PresCondArgsID(), ecorePackage.getEString(), "presCondArgsID", null, 0, - 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_Type(), ecorePackage.getEString(), "type", null, 0, 1, - ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_TypeKind(), this.getAttributeTypeKind(), "typeKind", "BASIC", 0, 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_UnderlyingType(), ecorePackage.getEString(), "underlyingType", null, 0, - 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceDataAttribute_UnderlyingTypeKind(), this.getDefinedAttributeTypeKind(), "underlyingTypeKind", null, 0, 1, ServiceDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceDataAttribute_ServiceCDC(), this.getServiceCDC(), + this.getServiceCDC_ServiceDataAttribute(), "serviceCDC", null, 0, 1, ServiceDataAttribute.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceNSEClass, ServiceNS.class, "ServiceNS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getServiceNS_Changes(), this.getChanges(), null, "changes", null, 0, 1, ServiceNS.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getServiceNS_FunctionalConstraints(), this.getFunctionalConstraints(), null, - "functionalConstraints", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getServiceNS_PresenceConditions(), this.getPresenceConditions(), null, "presenceConditions", - null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, - !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getServiceNS_Abbreviations(), this.getAbbreviations(), null, "abbreviations", null, 0, 1, + initEReference( getServiceNS_Changes(), this.getChanges(), this.getChanges_ServiceNS(), "changes", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getServiceNS_ServiceTypeRealizations(), this.getServiceTypeRealizations(), null, - "serviceTypeRealizations", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getServiceNS_ServiceConstructedAttributes(), this.getServiceConstructedAttributes(), null, - "serviceConstructedAttributes", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, - IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEReference( getServiceNS_ServiceCDCs(), this.getServiceCDCs(), null, "serviceCDCs", null, 0, 1, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceNS_FunctionalConstraints(), this.getFunctionalConstraints(), + this.getFunctionalConstraints_ServiceNS(), "functionalConstraints", null, 0, 1, ServiceNS.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceNS_PresenceConditions(), this.getPresenceConditions(), + this.getPresenceConditions_ServiceNS(), "presenceConditions", null, 0, 1, ServiceNS.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceNS_Abbreviations(), this.getAbbreviations(), this.getAbbreviations_ServiceNS(), + "abbreviations", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceNS_ServiceTypeRealizations(), this.getServiceTypeRealizations(), + this.getServiceTypeRealizations_ServiceNS(), "serviceTypeRealizations", null, 0, 1, ServiceNS.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, + !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceNS_ServiceConstructedAttributes(), this.getServiceConstructedAttributes(), + this.getServiceConstructedAttributes_ServiceNS(), "serviceConstructedAttributes", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceNS_ServiceCDCs(), this.getServiceCDCs(), this.getServiceCDCs_ServiceNS(), + "serviceCDCs", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEAttribute( getServiceNS_DescID(), ecorePackage.getEString(), "descID", null, 0, 1, ServiceNS.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); - initEAttribute( getServiceNS_Id(), ecorePackage.getEString(), "id", null, 1, 1, ServiceNS.class, !IS_TRANSIENT, - !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getServiceNS_Id(), ecorePackage.getEString(), "id", null, 0, 1, ServiceNS.class, !IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceNS_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceNS_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, ServiceNS.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceNS_UmlDate(), theXMLTypePackage.getDateTime(), "umlDate", null, 0, 1, ServiceNS.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceNS_UmlVersion(), ecorePackage.getEString(), "umlVersion", null, 0, 1, ServiceNS.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEClass( serviceNsUsageEClass, ServiceNsUsage.class, "ServiceNsUsage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getServiceNsUsage_AppliesTo(), this.getAppliesToType(), null, "appliesTo", null, 1, -1, - ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, - !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceNsUsage_Id(), ecorePackage.getEString(), "id", null, 1, 1, ServiceNsUsage.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEReference( getServiceNsUsage_AppliesTo(), this.getAppliesToType(), this.getAppliesToType_ServiceNsUsage(), + "appliesTo", null, 0, -1, ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEAttribute( getServiceNsUsage_Id(), ecorePackage.getEString(), "id", null, 0, 1, ServiceNsUsage.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceNsUsage_PublicationStage(), this.getPubStage(), "publicationStage", "IS", 0, 1, ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceNsUsage_Revision(), ecorePackage.getEString(), "revision", "A", 0, 1, ServiceNsUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceNsUsage_ApplicableServiceNS(), this.getApplicableServiceNS(), + this.getApplicableServiceNS_ServiceNsUsage(), "applicableServiceNS", null, 0, 1, ServiceNsUsage.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceParameterEClass, ServiceParameter.class, "ServiceParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getServiceParameter_DefaultValue(), theXMLTypePackage.getNormalizedString(), "defaultValue", - null, 0, 1, ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + null, 0, 1, ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceParameter_MaxValue(), theXMLTypePackage.getDecimal(), "maxValue", null, 0, 1, - ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceParameter_MinValue(), theXMLTypePackage.getDecimal(), "minValue", null, 0, 1, - ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceParameter_Name(), ecorePackage.getEString(), "name", null, 1, 1, - ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + initEAttribute( getServiceParameter_Name(), ecorePackage.getEString(), "name", null, 0, 1, + ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceParameter_Type(), ecorePackage.getEString(), "type", null, 0, 1, - ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getServiceParameter_TypeKind(), this.getAttributeTypeKind(), "typeKind", "BASIC", 0, 1, ServiceParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - - initEClass( serviceTypeRealizationEClass, ServiceTypeRealization.class, "ServiceTypeRealization", !IS_ABSTRACT, - !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getServiceTypeRealization_Fc(), ecorePackage.getEString(), "fc", null, 1, 1, - ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceTypeRealization_Name(), ecorePackage.getEString(), "name", null, 1, 1, - ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceTypeRealization_PresCond(), ecorePackage.getEString(), "presCond", "M", 0, 1, - ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceTypeRealization_PresCondArgs(), ecorePackage.getEString(), "presCondArgs", null, 0, 1, - ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceTypeRealization_PresCondArgsID(), ecorePackage.getEString(), "presCondArgsID", null, - 0, 1, ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceTypeRealization_Type(), ecorePackage.getEString(), "type", null, 0, 1, - ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getServiceTypeRealization_TypeKind(), this.getAttributeTypeKind(), "typeKind", "BASIC", 0, 1, - ServiceTypeRealization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceParameter_CDC(), this.getCDC(), this.getCDC_ServiceParameter(), "cDC", null, 0, 1, + ServiceParameter.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( serviceTypeRealizationsEClass, ServiceTypeRealizations.class, "ServiceTypeRealizations", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEReference( getServiceTypeRealizations_ServiceTypeRealization(), this.getConstructedAttribute(), null, - "serviceTypeRealization", null, 0, -1, ServiceTypeRealizations.class, !IS_TRANSIENT, !IS_VOLATILE, - IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getServiceTypeRealizations_ServiceTypeRealization(), this.getConstructedAttribute(), + this.getConstructedAttribute_ServiceTypeRealizations(), "serviceTypeRealization", null, 0, -1, + ServiceTypeRealizations.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getServiceTypeRealizations_ServiceNS(), this.getServiceNS(), + this.getServiceNS_ServiceTypeRealizations(), "serviceNS", null, 0, 1, ServiceTypeRealizations.class, + IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( subDataAttributeEClass, SubDataAttribute.class, "SubDataAttribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getSubDataAttribute_DefaultValue(), theXMLTypePackage.getNormalizedString(), "defaultValue", - null, 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + null, 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_IsArray(), theXMLTypePackage.getBoolean(), "isArray", "false", 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_MaxIndexAttribute(), ecorePackage.getEString(), "maxIndexAttribute", null, - 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, + 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_MaxValue(), theXMLTypePackage.getDecimal(), "maxValue", null, 0, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_MinIndex(), theXMLTypePackage.getUnsignedInt(), "minIndex", "0", 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_MinValue(), theXMLTypePackage.getDecimal(), "minValue", null, 0, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getSubDataAttribute_Name(), ecorePackage.getEString(), "name", null, 1, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + initEAttribute( getSubDataAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_PresCond(), ecorePackage.getEString(), "presCond", "M", 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_PresCondArgs(), ecorePackage.getEString(), "presCondArgs", null, 0, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_PresCondArgsID(), ecorePackage.getEString(), "presCondArgsID", null, 0, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_SizeAttribute(), ecorePackage.getEString(), "sizeAttribute", null, 0, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_Type(), ecorePackage.getEString(), "type", null, 0, 1, - SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataAttribute_TypeKind(), this.getAttributeTypeKind(), "typeKind", "BASIC", 0, 1, SubDataAttribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getSubDataAttribute_ConstructedAttribute(), this.getConstructedAttribute(), + this.getConstructedAttribute_SubDataAttribute(), "constructedAttribute", null, 0, 1, + SubDataAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( subDataObjectEClass, SubDataObject.class, "SubDataObject", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4425,41 +4925,41 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_MaxIndexAttribute(), ecorePackage.getEString(), "maxIndexAttribute", null, 0, - 1, SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + 1, SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_MinIndex(), theXMLTypePackage.getUnsignedInt(), "minIndex", "0", 0, 1, SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getSubDataObject_Name(), ecorePackage.getEString(), "name", null, 1, 1, SubDataObject.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getSubDataObject_Name(), ecorePackage.getEString(), "name", null, 0, 1, SubDataObject.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_PresCond(), ecorePackage.getEString(), "presCond", "M", 0, 1, SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_PresCondArgs(), ecorePackage.getEString(), "presCondArgs", null, 0, 1, - SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_PresCondArgsID(), ecorePackage.getEString(), "presCondArgsID", null, 0, 1, - SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_SizeAttribute(), ecorePackage.getEString(), "sizeAttribute", null, 0, 1, - SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); - initEAttribute( getSubDataObject_Type(), ecorePackage.getEString(), "type", null, 1, 1, SubDataObject.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getSubDataObject_Type(), ecorePackage.getEString(), "type", null, 0, 1, SubDataObject.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_UnderlyingType(), ecorePackage.getEString(), "underlyingType", null, 0, 1, - SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getSubDataObject_UnderlyingTypeKind(), this.getDefinedAttributeTypeKind(), "underlyingTypeKind", null, 0, 1, SubDataObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEReference( getSubDataObject_CDC(), this.getCDC(), this.getCDC_SubDataObject(), "cDC", null, 0, 1, + SubDataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( titledClassEClass, TitledClass.class, "TitledClass", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); - initEAttribute( getTitledClass_TitleID(), ecorePackage.getEString(), "titleID", null, 1, 1, TitledClass.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, - IS_ORDERED ); + initEAttribute( getTitledClass_TitleID(), ecorePackage.getEString(), "titleID", null, 0, 1, TitledClass.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEClass( nsdObjectWithVersionAndReleaseEClass, NSDObjectWithVersionAndRelease.class, "NSDObjectWithVersionAndRelease", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4467,7 +4967,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 0, 1, NSDObjectWithVersionAndRelease.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); initEAttribute( getNSDObjectWithVersionAndRelease_Version(), ecorePackage.getEIntegerObject(), "version", null, - 1, 1, NSDObjectWithVersionAndRelease.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, + 0, 1, NSDObjectWithVersionAndRelease.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); // Initialize enums and add enum literals @@ -4599,11 +5099,11 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { addAnnotation( getAppliesToType_PublicationStage(), source, new String[] { "kind", "attribute", "name", "publicationStage" } ); addAnnotation( getAppliesToType_Revision(), source, new String[] { "kind", "attribute", "name", "revision" } ); - addAnnotation( dependsOnTypeEClass, source, new String[] { "name", "DependsOn_._type", "kind", "empty" } ); - addAnnotation( getDependsOnType_Id(), source, new String[] { "kind", "attribute", "name", "id" } ); - addAnnotation( getDependsOnType_PublicationStage(), source, + addAnnotation( dependsOnEClass, source, new String[] { "name", "DependsOn_._type", "kind", "empty" } ); + addAnnotation( getDependsOn_Id(), source, new String[] { "kind", "attribute", "name", "id" } ); + addAnnotation( getDependsOn_PublicationStage(), source, new String[] { "kind", "attribute", "name", "publicationStage" } ); - addAnnotation( getDependsOnType_Revision(), source, new String[] { "kind", "attribute", "name", "revision" } ); + addAnnotation( getDependsOn_Revision(), source, new String[] { "kind", "attribute", "name", "revision" } ); addAnnotation( documentRootEClass, source, new String[] { "name", "", "kind", "mixed" } ); addAnnotation( getDocumentRoot_Mixed(), source, new String[] { "kind", "elementWildcard", "name", ":mixed" } ); addAnnotation( getDocumentRoot_XMLNSPrefixMap(), source, @@ -4612,8 +5112,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { new String[] { "kind", "attribute", "name", "xsi:schemaLocation" } ); addAnnotation( getDocumentRoot_ApplicableServiceNS(), source, new String[] { "kind", "element", "name", "ApplicableServiceNS", "namespace", "##targetNamespace" } ); - addAnnotation( getDocumentRoot_Copyright(), source, - new String[] { "kind", "element", "name", "Copyright", "namespace", "##targetNamespace" } ); addAnnotation( getDocumentRoot_NS(), source, new String[] { "kind", "element", "name", "NS", "namespace", "##targetNamespace" } ); addAnnotation( getDocumentRoot_NSDoc(), source, @@ -4931,19 +5429,6 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { addAnnotation( getServiceParameter_Type(), source, new String[] { "kind", "attribute", "name", "type" } ); addAnnotation( getServiceParameter_TypeKind(), source, new String[] { "kind", "attribute", "name", "typeKind" } ); - addAnnotation( serviceTypeRealizationEClass, source, - new String[] { "name", "tServiceTypeRealization", "kind", "empty" } ); - addAnnotation( getServiceTypeRealization_Fc(), source, new String[] { "kind", "attribute", "name", "fc" } ); - addAnnotation( getServiceTypeRealization_Name(), source, new String[] { "kind", "attribute", "name", "name" } ); - addAnnotation( getServiceTypeRealization_PresCond(), source, - new String[] { "kind", "attribute", "name", "presCond" } ); - addAnnotation( getServiceTypeRealization_PresCondArgs(), source, - new String[] { "kind", "attribute", "name", "presCondArgs" } ); - addAnnotation( getServiceTypeRealization_PresCondArgsID(), source, - new String[] { "kind", "attribute", "name", "presCondArgsID" } ); - addAnnotation( getServiceTypeRealization_Type(), source, new String[] { "kind", "attribute", "name", "type" } ); - addAnnotation( getServiceTypeRealization_TypeKind(), source, - new String[] { "kind", "attribute", "name", "typeKind" } ); addAnnotation( serviceTypeRealizationsEClass, source, new String[] { "name", "tServiceTypeRealizations", "kind", "elementOnly" } ); addAnnotation( getServiceTypeRealizations_ServiceTypeRealization(), source, new String[] { "kind", "element", diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionImpl.java index 9cdf3fa..23a4fcd 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionImpl.java @@ -22,12 +22,16 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions; 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; /** * <!-- begin-user-doc --> @@ -41,6 +45,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getTitleID <em>Title ID</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getPresenceConditions <em>Presence Conditions</em>}</li> * </ul> * * @generated @@ -66,6 +71,15 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen */ protected String argument = ARGUMENT_EDEFAULT; + /** + * This is true if the Argument attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean argumentESet; + /** * The default value of the '{@link #getDescID() <em>Desc ID</em>}' attribute. * <!-- begin-user-doc --> @@ -86,6 +100,15 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -106,6 +129,15 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getTitleID() <em>Title ID</em>}' attribute. * <!-- begin-user-doc --> @@ -126,6 +158,15 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen */ protected String titleID = TITLE_ID_EDEFAULT; + /** + * This is true if the Title ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean titleIDESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -164,8 +205,35 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen public void setArgument( String newArgument ) { String oldArgument = argument; argument = newArgument; + boolean oldArgumentESet = argumentESet; + argumentESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.PRESENCE_CONDITION__ARGUMENT, oldArgument, argument ) ); + NsdPackage.PRESENCE_CONDITION__ARGUMENT, oldArgument, argument, !oldArgumentESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetArgument() { + String oldArgument = argument; + boolean oldArgumentESet = argumentESet; + argument = ARGUMENT_EDEFAULT; + argumentESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.PRESENCE_CONDITION__ARGUMENT, oldArgument, ARGUMENT_EDEFAULT, oldArgumentESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetArgument() { + return argumentESet; } /** @@ -187,8 +255,35 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; + boolean oldDescIDESet = descIDESet; + descIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.PRESENCE_CONDITION__DESC_ID, oldDescID, descID ) ); + NsdPackage.PRESENCE_CONDITION__DESC_ID, oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.PRESENCE_CONDITION__DESC_ID, oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -210,8 +305,35 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.PRESENCE_CONDITION__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.PRESENCE_CONDITION__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.PRESENCE_CONDITION__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -233,8 +355,125 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen public void setTitleID( String newTitleID ) { String oldTitleID = titleID; titleID = newTitleID; + boolean oldTitleIDESet = titleIDESet; + titleIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.PRESENCE_CONDITION__TITLE_ID, oldTitleID, titleID ) ); + NsdPackage.PRESENCE_CONDITION__TITLE_ID, oldTitleID, titleID, !oldTitleIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetTitleID() { + String oldTitleID = titleID; + boolean oldTitleIDESet = titleIDESet; + titleID = TITLE_ID_EDEFAULT; + titleIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.PRESENCE_CONDITION__TITLE_ID, oldTitleID, TITLE_ID_EDEFAULT, oldTitleIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetTitleID() { + return titleIDESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public PresenceConditions getPresenceConditions() { + if( eContainerFeatureID() != NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS ) return null; + return ( PresenceConditions ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetPresenceConditions( PresenceConditions newPresenceConditions, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newPresenceConditions, + NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setPresenceConditions( PresenceConditions newPresenceConditions ) { + if( newPresenceConditions != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS + && newPresenceConditions != null ) ) { + if( EcoreUtil.isAncestor( this, newPresenceConditions ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newPresenceConditions != null ) msgs = ( ( InternalEObject ) newPresenceConditions ).eInverseAdd( this, + NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION, PresenceConditions.class, msgs ); + msgs = basicSetPresenceConditions( newPresenceConditions, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS, newPresenceConditions, newPresenceConditions ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetPresenceConditions( ( PresenceConditions ) 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 NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + return basicSetPresenceConditions( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + return eInternalContainer().eInverseRemove( this, NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION, + PresenceConditions.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); } /** @@ -253,6 +492,8 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen return getName(); case NsdPackage.PRESENCE_CONDITION__TITLE_ID: return getTitleID(); + case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + return getPresenceConditions(); } return super.eGet( featureID, resolve, coreType ); } @@ -277,6 +518,9 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen case NsdPackage.PRESENCE_CONDITION__TITLE_ID: setTitleID( ( String ) newValue ); return; + case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + setPresenceConditions( ( PresenceConditions ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -290,16 +534,19 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.PRESENCE_CONDITION__ARGUMENT: - setArgument( ARGUMENT_EDEFAULT ); + unsetArgument(); return; case NsdPackage.PRESENCE_CONDITION__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.PRESENCE_CONDITION__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.PRESENCE_CONDITION__TITLE_ID: - setTitleID( TITLE_ID_EDEFAULT ); + unsetTitleID(); + return; + case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + setPresenceConditions( ( PresenceConditions ) null ); return; } super.eUnset( featureID ); @@ -314,13 +561,15 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.PRESENCE_CONDITION__ARGUMENT: - return ARGUMENT_EDEFAULT == null ? argument != null : !ARGUMENT_EDEFAULT.equals( argument ); + return isSetArgument(); case NsdPackage.PRESENCE_CONDITION__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.PRESENCE_CONDITION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.PRESENCE_CONDITION__TITLE_ID: - return TITLE_ID_EDEFAULT == null ? titleID != null : !TITLE_ID_EDEFAULT.equals( titleID ); + return isSetTitleID(); + case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: + return getPresenceConditions() != null; } return super.eIsSet( featureID ); } @@ -336,13 +585,25 @@ public class PresenceConditionImpl extends MinimalEObjectImpl.Container implemen StringBuilder result = new StringBuilder( super.toString() ); result.append( " (argument: " ); - result.append( argument ); + if( argumentESet ) + result.append( argument ); + else + result.append( "<unset>" ); result.append( ", descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", titleID: " ); - result.append( titleID ); + if( titleIDESet ) + result.append( titleID ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionsImpl.java index 46a5a9a..a0f078f 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/PresenceConditionsImpl.java @@ -19,12 +19,15 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; 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; @@ -32,9 +35,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +50,8 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionsImpl#getPresenceCondition <em>Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionsImpl#getNS <em>NS</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionsImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -88,12 +94,141 @@ public class PresenceConditionsImpl extends MinimalEObjectImpl.Container impleme @Override public EList< PresenceCondition > getPresenceCondition() { if( presenceCondition == null ) { - presenceCondition = new EObjectContainmentEList< PresenceCondition >( PresenceCondition.class, this, - NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION ); + presenceCondition = new EObjectContainmentWithInverseEList.Unsettable< PresenceCondition >( + PresenceCondition.class, this, NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION, + NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS ); } return presenceCondition; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresenceCondition() { + if( presenceCondition != null ) ( ( InternalEList.Unsettable< ? > ) presenceCondition ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresenceCondition() { + return presenceCondition != null && ( ( InternalEList.Unsettable< ? > ) presenceCondition ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NS getNS() { + if( eContainerFeatureID() != NsdPackage.PRESENCE_CONDITIONS__NS ) return null; + return ( NS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetNS( NS newNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newNS, NsdPackage.PRESENCE_CONDITIONS__NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setNS( NS newNS ) { + if( newNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.PRESENCE_CONDITIONS__NS && newNS != null ) ) { + if( EcoreUtil.isAncestor( this, newNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newNS != null ) msgs = ( ( InternalEObject ) newNS ).eInverseAdd( this, + NsdPackage.NS__PRESENCE_CONDITIONS, NS.class, msgs ); + msgs = basicSetNS( newNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.PRESENCE_CONDITIONS__NS, newNS, newNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getPresenceCondition() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITIONS__NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetNS( ( NS ) otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +239,31 @@ public class PresenceConditionsImpl extends MinimalEObjectImpl.Container impleme switch( featureID ) { case NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION: return ( ( InternalEList< ? > ) getPresenceCondition() ).basicRemove( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITIONS__NS: + return basicSetNS( null, msgs ); + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + return basicSetServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.PRESENCE_CONDITIONS__NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.NS__PRESENCE_CONDITIONS, NS.class, msgs ); + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, + ServiceNS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +274,10 @@ public class PresenceConditionsImpl extends MinimalEObjectImpl.Container impleme switch( featureID ) { case NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION: return getPresenceCondition(); + case NsdPackage.PRESENCE_CONDITIONS__NS: + return getNS(); + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +295,12 @@ public class PresenceConditionsImpl extends MinimalEObjectImpl.Container impleme getPresenceCondition().clear(); getPresenceCondition().addAll( ( Collection< ? extends PresenceCondition > ) newValue ); return; + case NsdPackage.PRESENCE_CONDITIONS__NS: + setNS( ( NS ) newValue ); + return; + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +314,13 @@ public class PresenceConditionsImpl extends MinimalEObjectImpl.Container impleme public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION: - getPresenceCondition().clear(); + unsetPresenceCondition(); + return; + case NsdPackage.PRESENCE_CONDITIONS__NS: + setNS( ( NS ) null ); + return; + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +335,11 @@ public class PresenceConditionsImpl extends MinimalEObjectImpl.Container impleme public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.PRESENCE_CONDITIONS__PRESENCE_CONDITION: - return presenceCondition != null && !presenceCondition.isEmpty(); + return isSetPresenceCondition(); + case NsdPackage.PRESENCE_CONDITIONS__NS: + return getNS() != null; + case NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCImpl.java index e7d488c..baeeb0c 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCImpl.java @@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute; import java.util.Collection; @@ -35,8 +36,8 @@ 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.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -50,6 +51,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCImpl#getServiceDataAttribute <em>Service Data Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCImpl#getCdc <em>Cdc</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCImpl#getVariant <em>Variant</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCImpl#getServiceCDCs <em>Service CD Cs</em>}</li> * </ul> * * @generated @@ -85,6 +87,15 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv */ protected String cdc = CDC_EDEFAULT; + /** + * This is true if the Cdc attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean cdcESet; + /** * The default value of the '{@link #getVariant() <em>Variant</em>}' attribute. * <!-- begin-user-doc --> @@ -105,6 +116,15 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv */ protected String variant = VARIANT_EDEFAULT; + /** + * This is true if the Variant attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean variantESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -132,12 +152,33 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv @Override public EList< ServiceDataAttribute > getServiceDataAttribute() { if( serviceDataAttribute == null ) { - serviceDataAttribute = new EObjectContainmentEList< ServiceDataAttribute >( ServiceDataAttribute.class, - this, NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE ); + serviceDataAttribute = new EObjectContainmentWithInverseEList.Unsettable< ServiceDataAttribute >( + ServiceDataAttribute.class, this, NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE, + NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC ); } return serviceDataAttribute; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceDataAttribute() { + if( serviceDataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) serviceDataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceDataAttribute() { + return serviceDataAttribute != null && ( ( InternalEList.Unsettable< ? > ) serviceDataAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -157,8 +198,35 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv public void setCdc( String newCdc ) { String oldCdc = cdc; cdc = newCdc; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_CDC__CDC, oldCdc, cdc ) ); + boolean oldCdcESet = cdcESet; + cdcESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_CDC__CDC, oldCdc, cdc, !oldCdcESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetCdc() { + String oldCdc = cdc; + boolean oldCdcESet = cdcESet; + cdc = CDC_EDEFAULT; + cdcESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_CDC__CDC, oldCdc, CDC_EDEFAULT, oldCdcESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetCdc() { + return cdcESet; } /** @@ -180,8 +248,97 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv public void setVariant( String newVariant ) { String oldVariant = variant; variant = newVariant; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_CDC__VARIANT, oldVariant, variant ) ); + boolean oldVariantESet = variantESet; + variantESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_CDC__VARIANT, oldVariant, variant, !oldVariantESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetVariant() { + String oldVariant = variant; + boolean oldVariantESet = variantESet; + variant = VARIANT_EDEFAULT; + variantESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_CDC__VARIANT, oldVariant, VARIANT_EDEFAULT, oldVariantESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetVariant() { + return variantESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceCDCs getServiceCDCs() { + if( eContainerFeatureID() != NsdPackage.SERVICE_CDC__SERVICE_CD_CS ) return null; + return ( ServiceCDCs ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceCDCs( ServiceCDCs newServiceCDCs, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceCDCs, NsdPackage.SERVICE_CDC__SERVICE_CD_CS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceCDCs( ServiceCDCs newServiceCDCs ) { + if( newServiceCDCs != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_CDC__SERVICE_CD_CS && newServiceCDCs != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceCDCs ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceCDCs != null ) msgs = ( ( InternalEObject ) newServiceCDCs ).eInverseAdd( this, + NsdPackage.SERVICE_CD_CS__SERVICE_CDC, ServiceCDCs.class, msgs ); + msgs = basicSetServiceCDCs( newServiceCDCs, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_CDC__SERVICE_CD_CS, newServiceCDCs, newServiceCDCs ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getServiceDataAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceCDCs( ( ServiceCDCs ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -194,10 +351,27 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv switch( featureID ) { case NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE: return ( ( InternalEList< ? > ) getServiceDataAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + return basicSetServiceCDCs( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_CD_CS__SERVICE_CDC, ServiceCDCs.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -212,6 +386,8 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv return getCdc(); case NsdPackage.SERVICE_CDC__VARIANT: return getVariant(); + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + return getServiceCDCs(); } return super.eGet( featureID, resolve, coreType ); } @@ -235,6 +411,9 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv case NsdPackage.SERVICE_CDC__VARIANT: setVariant( ( String ) newValue ); return; + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + setServiceCDCs( ( ServiceCDCs ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -248,13 +427,16 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE: - getServiceDataAttribute().clear(); + unsetServiceDataAttribute(); return; case NsdPackage.SERVICE_CDC__CDC: - setCdc( CDC_EDEFAULT ); + unsetCdc(); return; case NsdPackage.SERVICE_CDC__VARIANT: - setVariant( VARIANT_EDEFAULT ); + unsetVariant(); + return; + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + setServiceCDCs( ( ServiceCDCs ) null ); return; } super.eUnset( featureID ); @@ -269,11 +451,13 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE: - return serviceDataAttribute != null && !serviceDataAttribute.isEmpty(); + return isSetServiceDataAttribute(); case NsdPackage.SERVICE_CDC__CDC: - return CDC_EDEFAULT == null ? cdc != null : !CDC_EDEFAULT.equals( cdc ); + return isSetCdc(); case NsdPackage.SERVICE_CDC__VARIANT: - return VARIANT_EDEFAULT == null ? variant != null : !VARIANT_EDEFAULT.equals( variant ); + return isSetVariant(); + case NsdPackage.SERVICE_CDC__SERVICE_CD_CS: + return getServiceCDCs() != null; } return super.eIsSet( featureID ); } @@ -289,9 +473,15 @@ public class ServiceCDCImpl extends MinimalEObjectImpl.Container implements Serv StringBuilder result = new StringBuilder( super.toString() ); result.append( " (cdc: " ); - result.append( cdc ); + if( cdcESet ) + result.append( cdc ); + else + result.append( "<unset>" ); result.append( ", variant: " ); - result.append( variant ); + if( variantESet ) + result.append( variant ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCsImpl.java index b885f5e..7a781a5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceCDCsImpl.java @@ -23,8 +23,10 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDCs; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCsImpl#getServiceCDC <em>Service CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceCDCsImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -88,12 +92,94 @@ public class ServiceCDCsImpl extends MinimalEObjectImpl.Container implements Ser @Override public EList< ServiceCDC > getServiceCDC() { if( serviceCDC == null ) { - serviceCDC = new EObjectContainmentEList< ServiceCDC >( ServiceCDC.class, this, - NsdPackage.SERVICE_CD_CS__SERVICE_CDC ); + serviceCDC = new EObjectContainmentWithInverseEList.Unsettable< ServiceCDC >( ServiceCDC.class, this, + NsdPackage.SERVICE_CD_CS__SERVICE_CDC, NsdPackage.SERVICE_CDC__SERVICE_CD_CS ); } return serviceCDC; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceCDC() { + if( serviceCDC != null ) ( ( InternalEList.Unsettable< ? > ) serviceCDC ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceCDC() { + return serviceCDC != null && ( ( InternalEList.Unsettable< ? > ) serviceCDC ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.SERVICE_CD_CS__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, NsdPackage.SERVICE_CD_CS__SERVICE_NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_CD_CS__SERVICE_NS && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__SERVICE_CD_CS, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_CD_CS__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_CD_CS__SERVICE_CDC: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getServiceCDC() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +190,27 @@ public class ServiceCDCsImpl extends MinimalEObjectImpl.Container implements Ser switch( featureID ) { case NsdPackage.SERVICE_CD_CS__SERVICE_CDC: return ( ( InternalEList< ? > ) getServiceCDC() ).basicRemove( otherEnd, msgs ); + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + return basicSetServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__SERVICE_CD_CS, ServiceNS.class, + msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +221,8 @@ public class ServiceCDCsImpl extends MinimalEObjectImpl.Container implements Ser switch( featureID ) { case NsdPackage.SERVICE_CD_CS__SERVICE_CDC: return getServiceCDC(); + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +240,9 @@ public class ServiceCDCsImpl extends MinimalEObjectImpl.Container implements Ser getServiceCDC().clear(); getServiceCDC().addAll( ( Collection< ? extends ServiceCDC > ) newValue ); return; + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +256,10 @@ public class ServiceCDCsImpl extends MinimalEObjectImpl.Container implements Ser public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_CD_CS__SERVICE_CDC: - getServiceCDC().clear(); + unsetServiceCDC(); + return; + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +274,9 @@ public class ServiceCDCsImpl extends MinimalEObjectImpl.Container implements Ser public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_CD_CS__SERVICE_CDC: - return serviceCDC != null && !serviceCDC.isEmpty(); + return isSetServiceCDC(); + case NsdPackage.SERVICE_CD_CS__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributeImpl.java index ea0e356..cf32dd2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributeImpl.java @@ -22,11 +22,15 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -37,6 +41,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceConstructedAttributeImpl#isTypeKindParameterized <em>Type Kind Parameterized</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceConstructedAttributeImpl#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}</li> * </ul> * * @generated @@ -142,6 +147,101 @@ public class ServiceConstructedAttributeImpl extends ConstructedAttributeImpl im return typeKindParameterizedESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceConstructedAttributes getServiceConstructedAttribute() { + if( eContainerFeatureID() != NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE ) + return null; + return ( ServiceConstructedAttributes ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceConstructedAttribute( + ServiceConstructedAttributes newServiceConstructedAttribute, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceConstructedAttribute, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceConstructedAttribute( ServiceConstructedAttributes newServiceConstructedAttribute ) { + if( newServiceConstructedAttribute != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE + && newServiceConstructedAttribute != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceConstructedAttribute ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceConstructedAttribute != null ) + msgs = ( ( InternalEObject ) newServiceConstructedAttribute ).eInverseAdd( this, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE, + ServiceConstructedAttributes.class, msgs ); + msgs = basicSetServiceConstructedAttribute( newServiceConstructedAttribute, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE, newServiceConstructedAttribute, + newServiceConstructedAttribute ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceConstructedAttribute( ( ServiceConstructedAttributes ) 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 NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + return basicSetServiceConstructedAttribute( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + return eInternalContainer().eInverseRemove( this, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE, + ServiceConstructedAttributes.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -152,6 +252,8 @@ public class ServiceConstructedAttributeImpl extends ConstructedAttributeImpl im switch( featureID ) { case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED: return isTypeKindParameterized(); + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + return getServiceConstructedAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -167,6 +269,9 @@ public class ServiceConstructedAttributeImpl extends ConstructedAttributeImpl im case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED: setTypeKindParameterized( ( Boolean ) newValue ); return; + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + setServiceConstructedAttribute( ( ServiceConstructedAttributes ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -182,6 +287,9 @@ public class ServiceConstructedAttributeImpl extends ConstructedAttributeImpl im case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED: unsetTypeKindParameterized(); return; + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + setServiceConstructedAttribute( ( ServiceConstructedAttributes ) null ); + return; } super.eUnset( featureID ); } @@ -196,6 +304,8 @@ public class ServiceConstructedAttributeImpl extends ConstructedAttributeImpl im switch( featureID ) { case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__TYPE_KIND_PARAMETERIZED: return isSetTypeKindParameterized(); + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE: + return getServiceConstructedAttribute() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributesImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributesImpl.java index 74cce02..705bbd2 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributesImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceConstructedAttributesImpl.java @@ -23,8 +23,10 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceConstructedAttributes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceConstructedAttributesImpl#getServiceConstructedAttribute <em>Service Constructed Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceConstructedAttributesImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -89,13 +93,100 @@ public class ServiceConstructedAttributesImpl extends MinimalEObjectImpl.Contain @Override public EList< ServiceConstructedAttribute > getServiceConstructedAttribute() { if( serviceConstructedAttribute == null ) { - serviceConstructedAttribute = new EObjectContainmentEList< ServiceConstructedAttribute >( + serviceConstructedAttribute = new EObjectContainmentWithInverseEList.Unsettable< ServiceConstructedAttribute >( ServiceConstructedAttribute.class, this, - NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE ); + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTE__SERVICE_CONSTRUCTED_ATTRIBUTE ); } return serviceConstructedAttribute; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceConstructedAttribute() { + if( serviceConstructedAttribute != null ) + ( ( InternalEList.Unsettable< ? > ) serviceConstructedAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceConstructedAttribute() { + return serviceConstructedAttribute != null + && ( ( InternalEList.Unsettable< ? > ) serviceConstructedAttribute ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS + && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getServiceConstructedAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -106,10 +197,27 @@ public class ServiceConstructedAttributesImpl extends MinimalEObjectImpl.Contain switch( featureID ) { case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE: return ( ( InternalEList< ? > ) getServiceConstructedAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + return basicSetServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, + ServiceNS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -120,6 +228,8 @@ public class ServiceConstructedAttributesImpl extends MinimalEObjectImpl.Contain switch( featureID ) { case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE: return getServiceConstructedAttribute(); + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -137,6 +247,9 @@ public class ServiceConstructedAttributesImpl extends MinimalEObjectImpl.Contain getServiceConstructedAttribute().clear(); getServiceConstructedAttribute().addAll( ( Collection< ? extends ServiceConstructedAttribute > ) newValue ); return; + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -150,7 +263,10 @@ public class ServiceConstructedAttributesImpl extends MinimalEObjectImpl.Contain public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE: - getServiceConstructedAttribute().clear(); + unsetServiceConstructedAttribute(); + return; + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -165,7 +281,9 @@ public class ServiceConstructedAttributesImpl extends MinimalEObjectImpl.Contain public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_CONSTRUCTED_ATTRIBUTE: - return serviceConstructedAttribute != null && !serviceConstructedAttribute.isEmpty(); + return isSetServiceConstructedAttribute(); + case NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceDataAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceDataAttributeImpl.java index f3b63c5..676c243 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceDataAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceDataAttributeImpl.java @@ -22,15 +22,19 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceCDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceDataAttribute; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.Enumerator; 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.EcoreUtil; /** * <!-- begin-user-doc --> @@ -49,6 +53,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceDataAttributeImpl#getTypeKind <em>Type Kind</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceDataAttributeImpl#getUnderlyingType <em>Underlying Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceDataAttributeImpl#getUnderlyingTypeKind <em>Underlying Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceDataAttributeImpl#getServiceCDC <em>Service CDC</em>}</li> * </ul> * * @generated @@ -74,6 +79,15 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser */ protected String fc = FC_EDEFAULT; + /** + * This is true if the Fc attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean fcESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -94,6 +108,15 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. * <!-- begin-user-doc --> @@ -143,6 +166,15 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser */ protected String presCondArgs = PRES_COND_ARGS_EDEFAULT; + /** + * This is true if the Pres Cond Args attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsESet; + /** * The default value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. * <!-- begin-user-doc --> @@ -163,6 +195,15 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser */ protected String presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + /** + * This is true if the Pres Cond Args ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsIDESet; + /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> @@ -183,6 +224,15 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser */ protected String type = TYPE_EDEFAULT; + /** + * This is true if the Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean typeESet; + /** * The default value of the '{@link #getTypeKind() <em>Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -233,6 +283,15 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser */ protected String underlyingType = UNDERLYING_TYPE_EDEFAULT; + /** + * This is true if the Underlying Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean underlyingTypeESet; + /** * The default value of the '{@link #getUnderlyingTypeKind() <em>Underlying Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -300,8 +359,35 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void setFc( String newFc ) { String oldFc = fc; fc = newFc; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_DATA_ATTRIBUTE__FC, oldFc, fc ) ); + boolean oldFcESet = fcESet; + fcESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_DATA_ATTRIBUTE__FC, oldFc, fc, !oldFcESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetFc() { + String oldFc = fc; + boolean oldFcESet = fcESet; + fc = FC_EDEFAULT; + fcESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_DATA_ATTRIBUTE__FC, oldFc, FC_EDEFAULT, oldFcESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetFc() { + return fcESet; } /** @@ -323,8 +409,35 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void setName( String newName ) { String oldName = name; name = newName; + boolean oldNameESet = nameESet; + nameESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_DATA_ATTRIBUTE__NAME, oldName, name ) ); + NsdPackage.SERVICE_DATA_ATTRIBUTE__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_DATA_ATTRIBUTE__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -396,8 +509,37 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void setPresCondArgs( String newPresCondArgs ) { String oldPresCondArgs = presCondArgs; presCondArgs = newPresCondArgs; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS, oldPresCondArgs, presCondArgs ) ); + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgsESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS, + oldPresCondArgs, presCondArgs, !oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgs() { + String oldPresCondArgs = presCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgs = PRES_COND_ARGS_EDEFAULT; + presCondArgsESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS, + oldPresCondArgs, PRES_COND_ARGS_EDEFAULT, oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgs() { + return presCondArgsESet; } /** @@ -419,8 +561,37 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void setPresCondArgsID( String newPresCondArgsID ) { String oldPresCondArgsID = presCondArgsID; presCondArgsID = newPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, oldPresCondArgsID, presCondArgsID ) ); + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsIDESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, + oldPresCondArgsID, presCondArgsID, !oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgsID() { + String oldPresCondArgsID = presCondArgsID; + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + presCondArgsIDESet = false; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.UNSET, NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, + oldPresCondArgsID, PRES_COND_ARGS_ID_EDEFAULT, oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgsID() { + return presCondArgsIDESet; } /** @@ -442,8 +613,35 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void setType( String newType ) { String oldType = type; type = newType; + boolean oldTypeESet = typeESet; + typeESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE, oldType, type ) ); + NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE, oldType, type, !oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetType() { + String oldType = type; + boolean oldTypeESet = typeESet; + type = TYPE_EDEFAULT; + typeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetType() { + return typeESet; } /** @@ -515,8 +713,37 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void setUnderlyingType( String newUnderlyingType ) { String oldUnderlyingType = underlyingType; underlyingType = newUnderlyingType; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE, oldUnderlyingType, underlyingType ) ); + boolean oldUnderlyingTypeESet = underlyingTypeESet; + underlyingTypeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE, + oldUnderlyingType, underlyingType, !oldUnderlyingTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUnderlyingType() { + String oldUnderlyingType = underlyingType; + boolean oldUnderlyingTypeESet = underlyingTypeESet; + underlyingType = UNDERLYING_TYPE_EDEFAULT; + underlyingTypeESet = false; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.UNSET, NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE, + oldUnderlyingType, UNDERLYING_TYPE_EDEFAULT, oldUnderlyingTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUnderlyingType() { + return underlyingTypeESet; } /** @@ -571,6 +798,95 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser return underlyingTypeKindESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceCDC getServiceCDC() { + if( eContainerFeatureID() != NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC ) return null; + return ( ServiceCDC ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceCDC( ServiceCDC newServiceCDC, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceCDC, NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC, + msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceCDC( ServiceCDC newServiceCDC ) { + if( newServiceCDC != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC + && newServiceCDC != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceCDC ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceCDC != null ) msgs = ( ( InternalEObject ) newServiceCDC ).eInverseAdd( this, + NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE, ServiceCDC.class, msgs ); + msgs = basicSetServiceCDC( newServiceCDC, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC, newServiceCDC, newServiceCDC ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceCDC( ( ServiceCDC ) 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 NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + return basicSetServiceCDC( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_CDC__SERVICE_DATA_ATTRIBUTE, + ServiceCDC.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -597,6 +913,8 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser return getUnderlyingType(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND: return getUnderlyingTypeKind(); + case NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + return getServiceCDC(); } return super.eGet( featureID, resolve, coreType ); } @@ -636,6 +954,9 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser case NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND: setUnderlyingTypeKind( ( DefinedAttributeTypeKind ) newValue ); return; + case NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + setServiceCDC( ( ServiceCDC ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -649,32 +970,35 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_DATA_ATTRIBUTE__FC: - setFc( FC_EDEFAULT ); + unsetFc(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND: unsetPresCond(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS: - setPresCondArgs( PRES_COND_ARGS_EDEFAULT ); + unsetPresCondArgs(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID: - setPresCondArgsID( PRES_COND_ARGS_ID_EDEFAULT ); + unsetPresCondArgsID(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE: - setType( TYPE_EDEFAULT ); + unsetType(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE_KIND: unsetTypeKind(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE: - setUnderlyingType( UNDERLYING_TYPE_EDEFAULT ); + unsetUnderlyingType(); return; case NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND: unsetUnderlyingTypeKind(); return; + case NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + setServiceCDC( ( ServiceCDC ) null ); + return; } super.eUnset( featureID ); } @@ -688,26 +1012,25 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_DATA_ATTRIBUTE__FC: - return FC_EDEFAULT == null ? fc != null : !FC_EDEFAULT.equals( fc ); + return isSetFc(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND: return isSetPresCond(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS: - return PRES_COND_ARGS_EDEFAULT == null ? presCondArgs != null - : !PRES_COND_ARGS_EDEFAULT.equals( presCondArgs ); + return isSetPresCondArgs(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__PRES_COND_ARGS_ID: - return PRES_COND_ARGS_ID_EDEFAULT == null ? presCondArgsID != null - : !PRES_COND_ARGS_ID_EDEFAULT.equals( presCondArgsID ); + return isSetPresCondArgsID(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); + return isSetType(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__TYPE_KIND: return isSetTypeKind(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE: - return UNDERLYING_TYPE_EDEFAULT == null ? underlyingType != null - : !UNDERLYING_TYPE_EDEFAULT.equals( underlyingType ); + return isSetUnderlyingType(); case NsdPackage.SERVICE_DATA_ATTRIBUTE__UNDERLYING_TYPE_KIND: return isSetUnderlyingTypeKind(); + case NsdPackage.SERVICE_DATA_ATTRIBUTE__SERVICE_CDC: + return getServiceCDC() != null; } return super.eIsSet( featureID ); } @@ -723,27 +1046,45 @@ public class ServiceDataAttributeImpl extends DocumentedClassImpl implements Ser StringBuilder result = new StringBuilder( super.toString() ); result.append( " (fc: " ); - result.append( fc ); + if( fcESet ) + result.append( fc ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", presCond: " ); if( presCondESet ) result.append( presCond ); else result.append( "<unset>" ); result.append( ", presCondArgs: " ); - result.append( presCondArgs ); + if( presCondArgsESet ) + result.append( presCondArgs ); + else + result.append( "<unset>" ); result.append( ", presCondArgsID: " ); - result.append( presCondArgsID ); + if( presCondArgsIDESet ) + result.append( presCondArgsID ); + else + result.append( "<unset>" ); result.append( ", type: " ); - result.append( type ); + if( typeESet ) + result.append( type ); + else + result.append( "<unset>" ); result.append( ", typeKind: " ); if( typeKindESet ) result.append( typeKind ); else result.append( "<unset>" ); result.append( ", underlyingType: " ); - result.append( underlyingType ); + if( underlyingTypeESet ) + result.append( underlyingType ); + else + result.append( "<unset>" ); result.append( ", underlyingTypeKind: " ); if( underlyingTypeKindESet ) result.append( underlyingTypeKind ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java index 75650fd..3fdc7ff 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNSImpl.java @@ -137,6 +137,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected Changes changes; + /** + * This is true if the Changes containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean changesESet; + /** * The cached value of the '{@link #getFunctionalConstraints() <em>Functional Constraints</em>}' containment reference. * <!-- begin-user-doc --> @@ -147,6 +156,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected FunctionalConstraints functionalConstraints; + /** + * This is true if the Functional Constraints containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean functionalConstraintsESet; + /** * The cached value of the '{@link #getPresenceConditions() <em>Presence Conditions</em>}' containment reference. * <!-- begin-user-doc --> @@ -157,6 +175,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected PresenceConditions presenceConditions; + /** + * This is true if the Presence Conditions containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presenceConditionsESet; + /** * The cached value of the '{@link #getAbbreviations() <em>Abbreviations</em>}' containment reference. * <!-- begin-user-doc --> @@ -167,6 +194,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected Abbreviations abbreviations; + /** + * This is true if the Abbreviations containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean abbreviationsESet; + /** * The cached value of the '{@link #getServiceTypeRealizations() <em>Service Type Realizations</em>}' containment reference. * <!-- begin-user-doc --> @@ -177,6 +213,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected ServiceTypeRealizations serviceTypeRealizations; + /** + * This is true if the Service Type Realizations containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean serviceTypeRealizationsESet; + /** * The cached value of the '{@link #getServiceConstructedAttributes() <em>Service Constructed Attributes</em>}' containment reference. * <!-- begin-user-doc --> @@ -187,6 +232,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected ServiceConstructedAttributes serviceConstructedAttributes; + /** + * This is true if the Service Constructed Attributes containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean serviceConstructedAttributesESet; + /** * The cached value of the '{@link #getServiceCDCs() <em>Service CD Cs</em>}' containment reference. * <!-- begin-user-doc --> @@ -197,6 +251,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected ServiceCDCs serviceCDCs; + /** + * This is true if the Service CD Cs containment reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean serviceCDCsESet; + /** * The default value of the '{@link #getDescID() <em>Desc ID</em>}' attribute. * <!-- begin-user-doc --> @@ -217,6 +280,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected String descID = DESC_ID_EDEFAULT; + /** + * This is true if the Desc ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean descIDESet; + /** * The default value of the '{@link #getId() <em>Id</em>}' attribute. * <!-- begin-user-doc --> @@ -237,6 +309,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> @@ -315,6 +396,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected XMLGregorianCalendar umlDate = UML_DATE_EDEFAULT; + /** + * This is true if the Uml Date attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean umlDateESet; + /** * The default value of the '{@link #getUmlVersion() <em>Uml Version</em>}' attribute. * <!-- begin-user-doc --> @@ -335,6 +425,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { */ protected String umlVersion = UML_VERSION_EDEFAULT; + /** + * This is true if the Uml Version attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean umlVersionESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -372,9 +471,11 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public NotificationChain basicSetChanges( Changes newChanges, NotificationChain msgs ) { Changes oldChanges = changes; changes = newChanges; + boolean oldChangesESet = changesESet; + changesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__CHANGES, oldChanges, newChanges ); + NsdPackage.SERVICE_NS__CHANGES, oldChanges, newChanges, !oldChangesESet ); if( msgs == null ) msgs = notification; else @@ -393,14 +494,71 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { if( newChanges != changes ) { NotificationChain msgs = null; if( changes != null ) msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__CHANGES, null, msgs ); + NsdPackage.CHANGES__SERVICE_NS, Changes.class, msgs ); if( newChanges != null ) msgs = ( ( InternalEObject ) newChanges ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__CHANGES, null, msgs ); + NsdPackage.CHANGES__SERVICE_NS, Changes.class, msgs ); msgs = basicSetChanges( newChanges, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__CHANGES, newChanges, newChanges ) ); + else { + boolean oldChangesESet = changesESet; + changesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS__CHANGES, newChanges, newChanges, !oldChangesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetChanges( NotificationChain msgs ) { + Changes oldChanges = changes; + changes = null; + boolean oldChangesESet = changesESet; + changesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__CHANGES, oldChanges, null, oldChangesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetChanges() { + if( changes != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, NsdPackage.CHANGES__SERVICE_NS, Changes.class, + msgs ); + msgs = basicUnsetChanges( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldChangesESet = changesESet; + changesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__CHANGES, null, null, oldChangesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetChanges() { + return changesESet; } /** @@ -422,9 +580,12 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { NotificationChain msgs ) { FunctionalConstraints oldFunctionalConstraints = functionalConstraints; functionalConstraints = newFunctionalConstraints; + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, oldFunctionalConstraints, newFunctionalConstraints ); + NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, oldFunctionalConstraints, newFunctionalConstraints, + !oldFunctionalConstraintsESet ); if( msgs == null ) msgs = notification; else @@ -444,15 +605,74 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { NotificationChain msgs = null; if( functionalConstraints != null ) msgs = ( ( InternalEObject ) functionalConstraints ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, null, msgs ); + NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS, FunctionalConstraints.class, msgs ); if( newFunctionalConstraints != null ) msgs = ( ( InternalEObject ) newFunctionalConstraints ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, null, msgs ); + NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS, FunctionalConstraints.class, msgs ); msgs = basicSetFunctionalConstraints( newFunctionalConstraints, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, newFunctionalConstraints, newFunctionalConstraints ) ); + else { + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, + newFunctionalConstraints, newFunctionalConstraints, !oldFunctionalConstraintsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetFunctionalConstraints( NotificationChain msgs ) { + FunctionalConstraints oldFunctionalConstraints = functionalConstraints; + functionalConstraints = null; + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, oldFunctionalConstraints, null, + oldFunctionalConstraintsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetFunctionalConstraints() { + if( functionalConstraints != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) functionalConstraints ).eInverseRemove( this, + NsdPackage.FUNCTIONAL_CONSTRAINTS__SERVICE_NS, FunctionalConstraints.class, msgs ); + msgs = basicUnsetFunctionalConstraints( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldFunctionalConstraintsESet = functionalConstraintsESet; + functionalConstraintsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, null, null, oldFunctionalConstraintsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetFunctionalConstraints() { + return functionalConstraintsESet; } /** @@ -474,9 +694,12 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { NotificationChain msgs ) { PresenceConditions oldPresenceConditions = presenceConditions; presenceConditions = newPresenceConditions; + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, oldPresenceConditions, newPresenceConditions ); + NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, oldPresenceConditions, newPresenceConditions, + !oldPresenceConditionsESet ); if( msgs == null ) msgs = notification; else @@ -495,14 +718,73 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { if( newPresenceConditions != presenceConditions ) { NotificationChain msgs = null; if( presenceConditions != null ) msgs = ( ( InternalEObject ) presenceConditions ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, null, msgs ); + NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS, PresenceConditions.class, msgs ); if( newPresenceConditions != null ) msgs = ( ( InternalEObject ) newPresenceConditions ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, null, msgs ); + NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS, PresenceConditions.class, msgs ); msgs = basicSetPresenceConditions( newPresenceConditions, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, newPresenceConditions, newPresenceConditions ) ); + else { + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, + newPresenceConditions, newPresenceConditions, !oldPresenceConditionsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetPresenceConditions( NotificationChain msgs ) { + PresenceConditions oldPresenceConditions = presenceConditions; + presenceConditions = null; + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, oldPresenceConditions, null, + oldPresenceConditionsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresenceConditions() { + if( presenceConditions != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) presenceConditions ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITIONS__SERVICE_NS, PresenceConditions.class, msgs ); + msgs = basicUnsetPresenceConditions( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldPresenceConditionsESet = presenceConditionsESet; + presenceConditionsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, null, null, oldPresenceConditionsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresenceConditions() { + return presenceConditionsESet; } /** @@ -523,9 +805,11 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public NotificationChain basicSetAbbreviations( Abbreviations newAbbreviations, NotificationChain msgs ) { Abbreviations oldAbbreviations = abbreviations; abbreviations = newAbbreviations; + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__ABBREVIATIONS, oldAbbreviations, newAbbreviations ); + NsdPackage.SERVICE_NS__ABBREVIATIONS, oldAbbreviations, newAbbreviations, !oldAbbreviationsESet ); if( msgs == null ) msgs = notification; else @@ -544,14 +828,71 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { if( newAbbreviations != abbreviations ) { NotificationChain msgs = null; if( abbreviations != null ) msgs = ( ( InternalEObject ) abbreviations ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__ABBREVIATIONS, null, msgs ); + NsdPackage.ABBREVIATIONS__SERVICE_NS, Abbreviations.class, msgs ); if( newAbbreviations != null ) msgs = ( ( InternalEObject ) newAbbreviations ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__ABBREVIATIONS, null, msgs ); + NsdPackage.ABBREVIATIONS__SERVICE_NS, Abbreviations.class, msgs ); msgs = basicSetAbbreviations( newAbbreviations, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__ABBREVIATIONS, newAbbreviations, newAbbreviations ) ); + else { + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS__ABBREVIATIONS, newAbbreviations, newAbbreviations, !oldAbbreviationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetAbbreviations( NotificationChain msgs ) { + Abbreviations oldAbbreviations = abbreviations; + abbreviations = null; + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__ABBREVIATIONS, oldAbbreviations, null, oldAbbreviationsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetAbbreviations() { + if( abbreviations != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) abbreviations ).eInverseRemove( this, NsdPackage.ABBREVIATIONS__SERVICE_NS, + Abbreviations.class, msgs ); + msgs = basicUnsetAbbreviations( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldAbbreviationsESet = abbreviationsESet; + abbreviationsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__ABBREVIATIONS, null, null, oldAbbreviationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetAbbreviations() { + return abbreviationsESet; } /** @@ -573,10 +914,12 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { NotificationChain msgs ) { ServiceTypeRealizations oldServiceTypeRealizations = serviceTypeRealizations; serviceTypeRealizations = newServiceTypeRealizations; + boolean oldServiceTypeRealizationsESet = serviceTypeRealizationsESet; + serviceTypeRealizationsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, oldServiceTypeRealizations, - newServiceTypeRealizations ); + newServiceTypeRealizations, !oldServiceTypeRealizationsESet ); if( msgs == null ) msgs = notification; else @@ -596,16 +939,74 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { NotificationChain msgs = null; if( serviceTypeRealizations != null ) msgs = ( ( InternalEObject ) serviceTypeRealizations ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, null, msgs ); + NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS, ServiceTypeRealizations.class, msgs ); if( newServiceTypeRealizations != null ) msgs = ( ( InternalEObject ) newServiceTypeRealizations ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, null, msgs ); + NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS, ServiceTypeRealizations.class, msgs ); msgs = basicSetServiceTypeRealizations( newServiceTypeRealizations, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, - newServiceTypeRealizations, newServiceTypeRealizations ) ); + else { + boolean oldServiceTypeRealizationsESet = serviceTypeRealizationsESet; + serviceTypeRealizationsESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, + newServiceTypeRealizations, newServiceTypeRealizations, !oldServiceTypeRealizationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetServiceTypeRealizations( NotificationChain msgs ) { + ServiceTypeRealizations oldServiceTypeRealizations = serviceTypeRealizations; + serviceTypeRealizations = null; + boolean oldServiceTypeRealizationsESet = serviceTypeRealizationsESet; + serviceTypeRealizationsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, oldServiceTypeRealizations, null, + oldServiceTypeRealizationsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceTypeRealizations() { + if( serviceTypeRealizations != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) serviceTypeRealizations ).eInverseRemove( this, + NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS, ServiceTypeRealizations.class, msgs ); + msgs = basicUnsetServiceTypeRealizations( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldServiceTypeRealizationsESet = serviceTypeRealizationsESet; + serviceTypeRealizationsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, null, null, oldServiceTypeRealizationsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceTypeRealizations() { + return serviceTypeRealizationsESet; } /** @@ -627,10 +1028,12 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { ServiceConstructedAttributes newServiceConstructedAttributes, NotificationChain msgs ) { ServiceConstructedAttributes oldServiceConstructedAttributes = serviceConstructedAttributes; serviceConstructedAttributes = newServiceConstructedAttributes; + boolean oldServiceConstructedAttributesESet = serviceConstructedAttributesESet; + serviceConstructedAttributesESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, oldServiceConstructedAttributes, - newServiceConstructedAttributes ); + newServiceConstructedAttributes, !oldServiceConstructedAttributesESet ); if( msgs == null ) msgs = notification; else @@ -650,16 +1053,77 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { NotificationChain msgs = null; if( serviceConstructedAttributes != null ) msgs = ( ( InternalEObject ) serviceConstructedAttributes ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, null, msgs ); + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS, ServiceConstructedAttributes.class, + msgs ); if( newServiceConstructedAttributes != null ) msgs = ( ( InternalEObject ) newServiceConstructedAttributes ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, null, msgs ); + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS, ServiceConstructedAttributes.class, + msgs ); msgs = basicSetServiceConstructedAttributes( newServiceConstructedAttributes, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, - newServiceConstructedAttributes, newServiceConstructedAttributes ) ); + else { + boolean oldServiceConstructedAttributesESet = serviceConstructedAttributesESet; + serviceConstructedAttributesESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, newServiceConstructedAttributes, + newServiceConstructedAttributes, !oldServiceConstructedAttributesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetServiceConstructedAttributes( NotificationChain msgs ) { + ServiceConstructedAttributes oldServiceConstructedAttributes = serviceConstructedAttributes; + serviceConstructedAttributes = null; + boolean oldServiceConstructedAttributesESet = serviceConstructedAttributesESet; + serviceConstructedAttributesESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, oldServiceConstructedAttributes, null, + oldServiceConstructedAttributesESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceConstructedAttributes() { + if( serviceConstructedAttributes != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) serviceConstructedAttributes ).eInverseRemove( this, + NsdPackage.SERVICE_CONSTRUCTED_ATTRIBUTES__SERVICE_NS, ServiceConstructedAttributes.class, msgs ); + msgs = basicUnsetServiceConstructedAttributes( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldServiceConstructedAttributesESet = serviceConstructedAttributesESet; + serviceConstructedAttributesESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, null, null, + oldServiceConstructedAttributesESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceConstructedAttributes() { + return serviceConstructedAttributesESet; } /** @@ -680,9 +1144,11 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public NotificationChain basicSetServiceCDCs( ServiceCDCs newServiceCDCs, NotificationChain msgs ) { ServiceCDCs oldServiceCDCs = serviceCDCs; serviceCDCs = newServiceCDCs; + boolean oldServiceCDCsESet = serviceCDCsESet; + serviceCDCsESet = true; if( eNotificationRequired() ) { ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__SERVICE_CD_CS, oldServiceCDCs, newServiceCDCs ); + NsdPackage.SERVICE_NS__SERVICE_CD_CS, oldServiceCDCs, newServiceCDCs, !oldServiceCDCsESet ); if( msgs == null ) msgs = notification; else @@ -701,14 +1167,71 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { if( newServiceCDCs != serviceCDCs ) { NotificationChain msgs = null; if( serviceCDCs != null ) msgs = ( ( InternalEObject ) serviceCDCs ).eInverseRemove( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_CD_CS, null, msgs ); + NsdPackage.SERVICE_CD_CS__SERVICE_NS, ServiceCDCs.class, msgs ); if( newServiceCDCs != null ) msgs = ( ( InternalEObject ) newServiceCDCs ).eInverseAdd( this, - EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_CD_CS, null, msgs ); + NsdPackage.SERVICE_CD_CS__SERVICE_NS, ServiceCDCs.class, msgs ); msgs = basicSetServiceCDCs( newServiceCDCs, msgs ); if( msgs != null ) msgs.dispatch(); } - else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__SERVICE_CD_CS, newServiceCDCs, newServiceCDCs ) ); + else { + boolean oldServiceCDCsESet = serviceCDCsESet; + serviceCDCsESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS__SERVICE_CD_CS, newServiceCDCs, newServiceCDCs, !oldServiceCDCsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetServiceCDCs( NotificationChain msgs ) { + ServiceCDCs oldServiceCDCs = serviceCDCs; + serviceCDCs = null; + boolean oldServiceCDCsESet = serviceCDCsESet; + serviceCDCsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__SERVICE_CD_CS, oldServiceCDCs, null, oldServiceCDCsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceCDCs() { + if( serviceCDCs != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) serviceCDCs ).eInverseRemove( this, NsdPackage.SERVICE_CD_CS__SERVICE_NS, + ServiceCDCs.class, msgs ); + msgs = basicUnsetServiceCDCs( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldServiceCDCsESet = serviceCDCsESet; + serviceCDCsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__SERVICE_CD_CS, null, null, oldServiceCDCsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceCDCs() { + return serviceCDCsESet; } /** @@ -730,8 +1253,35 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public void setDescID( String newDescID ) { String oldDescID = descID; descID = newDescID; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__DESC_ID, oldDescID, descID ) ); + boolean oldDescIDESet = descIDESet; + descIDESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS__DESC_ID, oldDescID, descID, !oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDescID() { + String oldDescID = descID; + boolean oldDescIDESet = descIDESet; + descID = DESC_ID_EDEFAULT; + descIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__DESC_ID, oldDescID, DESC_ID_EDEFAULT, oldDescIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDescID() { + return descIDESet; } /** @@ -753,8 +1303,35 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public void setId( String newId ) { String oldId = id; id = newId; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__ID, oldId, id ) ); + boolean oldIdESet = idESet; + idESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; } /** @@ -928,8 +1505,35 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public void setUmlDate( XMLGregorianCalendar newUmlDate ) { XMLGregorianCalendar oldUmlDate = umlDate; umlDate = newUmlDate; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS__UML_DATE, oldUmlDate, umlDate ) ); + boolean oldUmlDateESet = umlDateESet; + umlDateESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS__UML_DATE, oldUmlDate, umlDate, !oldUmlDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUmlDate() { + XMLGregorianCalendar oldUmlDate = umlDate; + boolean oldUmlDateESet = umlDateESet; + umlDate = UML_DATE_EDEFAULT; + umlDateESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__UML_DATE, oldUmlDate, UML_DATE_EDEFAULT, oldUmlDateESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUmlDate() { + return umlDateESet; } /** @@ -951,8 +1555,78 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public void setUmlVersion( String newUmlVersion ) { String oldUmlVersion = umlVersion; umlVersion = newUmlVersion; + boolean oldUmlVersionESet = umlVersionESet; + umlVersionESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_NS__UML_VERSION, oldUmlVersion, umlVersion ) ); + NsdPackage.SERVICE_NS__UML_VERSION, oldUmlVersion, umlVersion, !oldUmlVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUmlVersion() { + String oldUmlVersion = umlVersion; + boolean oldUmlVersionESet = umlVersionESet; + umlVersion = UML_VERSION_EDEFAULT; + umlVersionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS__UML_VERSION, oldUmlVersion, UML_VERSION_EDEFAULT, oldUmlVersionESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUmlVersion() { + return umlVersionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_NS__CHANGES: + if( changes != null ) msgs = ( ( InternalEObject ) changes ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__CHANGES, null, msgs ); + return basicSetChanges( ( Changes ) otherEnd, msgs ); + case NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS: + if( functionalConstraints != null ) + msgs = ( ( InternalEObject ) functionalConstraints ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS, null, msgs ); + return basicSetFunctionalConstraints( ( FunctionalConstraints ) otherEnd, msgs ); + case NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS: + if( presenceConditions != null ) msgs = ( ( InternalEObject ) presenceConditions ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS, null, msgs ); + return basicSetPresenceConditions( ( PresenceConditions ) otherEnd, msgs ); + case NsdPackage.SERVICE_NS__ABBREVIATIONS: + if( abbreviations != null ) msgs = ( ( InternalEObject ) abbreviations ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__ABBREVIATIONS, null, msgs ); + return basicSetAbbreviations( ( Abbreviations ) otherEnd, msgs ); + case NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS: + if( serviceTypeRealizations != null ) + msgs = ( ( InternalEObject ) serviceTypeRealizations ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, null, msgs ); + return basicSetServiceTypeRealizations( ( ServiceTypeRealizations ) otherEnd, msgs ); + case NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES: + if( serviceConstructedAttributes != null ) + msgs = ( ( InternalEObject ) serviceConstructedAttributes ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES, null, msgs ); + return basicSetServiceConstructedAttributes( ( ServiceConstructedAttributes ) otherEnd, msgs ); + case NsdPackage.SERVICE_NS__SERVICE_CD_CS: + if( serviceCDCs != null ) msgs = ( ( InternalEObject ) serviceCDCs ).eInverseRemove( this, + EOPPOSITE_FEATURE_BASE - NsdPackage.SERVICE_NS__SERVICE_CD_CS, null, msgs ); + return basicSetServiceCDCs( ( ServiceCDCs ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); } /** @@ -1014,19 +1688,19 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { public NotificationChain eInverseRemove( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.SERVICE_NS__CHANGES: - return basicSetChanges( null, msgs ); + return basicUnsetChanges( msgs ); case NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS: - return basicSetFunctionalConstraints( null, msgs ); + return basicUnsetFunctionalConstraints( msgs ); case NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS: - return basicSetPresenceConditions( null, msgs ); + return basicUnsetPresenceConditions( msgs ); case NsdPackage.SERVICE_NS__ABBREVIATIONS: - return basicSetAbbreviations( null, msgs ); + return basicUnsetAbbreviations( msgs ); case NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS: - return basicSetServiceTypeRealizations( null, msgs ); + return basicUnsetServiceTypeRealizations( msgs ); case NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES: - return basicSetServiceConstructedAttributes( null, msgs ); + return basicUnsetServiceConstructedAttributes( msgs ); case NsdPackage.SERVICE_NS__SERVICE_CD_CS: - return basicSetServiceCDCs( null, msgs ); + return basicUnsetServiceCDCs( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -1145,31 +1819,31 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { unsetVersion(); return; case NsdPackage.SERVICE_NS__CHANGES: - setChanges( ( Changes ) null ); + unsetChanges(); return; case NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS: - setFunctionalConstraints( ( FunctionalConstraints ) null ); + unsetFunctionalConstraints(); return; case NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS: - setPresenceConditions( ( PresenceConditions ) null ); + unsetPresenceConditions(); return; case NsdPackage.SERVICE_NS__ABBREVIATIONS: - setAbbreviations( ( Abbreviations ) null ); + unsetAbbreviations(); return; case NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS: - setServiceTypeRealizations( ( ServiceTypeRealizations ) null ); + unsetServiceTypeRealizations(); return; case NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES: - setServiceConstructedAttributes( ( ServiceConstructedAttributes ) null ); + unsetServiceConstructedAttributes(); return; case NsdPackage.SERVICE_NS__SERVICE_CD_CS: - setServiceCDCs( ( ServiceCDCs ) null ); + unsetServiceCDCs(); return; case NsdPackage.SERVICE_NS__DESC_ID: - setDescID( DESC_ID_EDEFAULT ); + unsetDescID(); return; case NsdPackage.SERVICE_NS__ID: - setId( ID_EDEFAULT ); + unsetId(); return; case NsdPackage.SERVICE_NS__PUBLICATION_STAGE: unsetPublicationStage(); @@ -1178,10 +1852,10 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { unsetRevision(); return; case NsdPackage.SERVICE_NS__UML_DATE: - setUmlDate( UML_DATE_EDEFAULT ); + unsetUmlDate(); return; case NsdPackage.SERVICE_NS__UML_VERSION: - setUmlVersion( UML_VERSION_EDEFAULT ); + unsetUmlVersion(); return; } super.eUnset( featureID ); @@ -1200,31 +1874,31 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { case NsdPackage.SERVICE_NS__VERSION: return isSetVersion(); case NsdPackage.SERVICE_NS__CHANGES: - return changes != null; + return isSetChanges(); case NsdPackage.SERVICE_NS__FUNCTIONAL_CONSTRAINTS: - return functionalConstraints != null; + return isSetFunctionalConstraints(); case NsdPackage.SERVICE_NS__PRESENCE_CONDITIONS: - return presenceConditions != null; + return isSetPresenceConditions(); case NsdPackage.SERVICE_NS__ABBREVIATIONS: - return abbreviations != null; + return isSetAbbreviations(); case NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS: - return serviceTypeRealizations != null; + return isSetServiceTypeRealizations(); case NsdPackage.SERVICE_NS__SERVICE_CONSTRUCTED_ATTRIBUTES: - return serviceConstructedAttributes != null; + return isSetServiceConstructedAttributes(); case NsdPackage.SERVICE_NS__SERVICE_CD_CS: - return serviceCDCs != null; + return isSetServiceCDCs(); case NsdPackage.SERVICE_NS__DESC_ID: - return DESC_ID_EDEFAULT == null ? descID != null : !DESC_ID_EDEFAULT.equals( descID ); + return isSetDescID(); case NsdPackage.SERVICE_NS__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); + return isSetId(); case NsdPackage.SERVICE_NS__PUBLICATION_STAGE: return isSetPublicationStage(); case NsdPackage.SERVICE_NS__REVISION: return isSetRevision(); case NsdPackage.SERVICE_NS__UML_DATE: - return UML_DATE_EDEFAULT == null ? umlDate != null : !UML_DATE_EDEFAULT.equals( umlDate ); + return isSetUmlDate(); case NsdPackage.SERVICE_NS__UML_VERSION: - return UML_VERSION_EDEFAULT == null ? umlVersion != null : !UML_VERSION_EDEFAULT.equals( umlVersion ); + return isSetUmlVersion(); } return super.eIsSet( featureID ); } @@ -1290,9 +1964,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { else result.append( "<unset>" ); result.append( ", descID: " ); - result.append( descID ); + if( descIDESet ) + result.append( descID ); + else + result.append( "<unset>" ); result.append( ", id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ", publicationStage: " ); if( publicationStageESet ) result.append( publicationStage ); @@ -1304,9 +1984,15 @@ public class ServiceNSImpl extends CopyrightedImpl implements ServiceNS { else result.append( "<unset>" ); result.append( ", umlDate: " ); - result.append( umlDate ); + if( umlDateESet ) + result.append( umlDate ); + else + result.append( "<unset>" ); result.append( ", umlVersion: " ); - result.append( umlVersion ); + if( umlVersionESet ) + result.append( umlVersion ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java index 2f21152..75340ce 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceNsUsageImpl.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AppliesToType; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; @@ -35,7 +36,8 @@ 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.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -50,6 +52,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceNsUsageImpl#getId <em>Id</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceNsUsageImpl#getPublicationStage <em>Publication Stage</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceNsUsageImpl#getRevision <em>Revision</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceNsUsageImpl#getApplicableServiceNS <em>Applicable Service NS</em>}</li> * </ul> * * @generated @@ -85,6 +88,15 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple */ protected String id = ID_EDEFAULT; + /** + * This is true if the Id attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean idESet; + /** * The default value of the '{@link #getPublicationStage() <em>Publication Stage</em>}' attribute. * <!-- begin-user-doc --> @@ -170,12 +182,32 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple @Override public EList< AppliesToType > getAppliesTo() { if( appliesTo == null ) { - appliesTo = new EObjectContainmentEList< AppliesToType >( AppliesToType.class, this, - NsdPackage.SERVICE_NS_USAGE__APPLIES_TO ); + appliesTo = new EObjectContainmentWithInverseEList.Unsettable< AppliesToType >( AppliesToType.class, this, + NsdPackage.SERVICE_NS_USAGE__APPLIES_TO, NsdPackage.APPLIES_TO_TYPE__SERVICE_NS_USAGE ); } return appliesTo; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetAppliesTo() { + if( appliesTo != null ) ( ( InternalEList.Unsettable< ? > ) appliesTo ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetAppliesTo() { + return appliesTo != null && ( ( InternalEList.Unsettable< ? > ) appliesTo ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -195,8 +227,35 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple public void setId( String newId ) { String oldId = id; id = newId; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_NS_USAGE__ID, oldId, id ) ); + boolean oldIdESet = idESet; + idESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS_USAGE__ID, oldId, id, !oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetId() { + String oldId = id; + boolean oldIdESet = idESet; + id = ID_EDEFAULT; + idESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_NS_USAGE__ID, oldId, ID_EDEFAULT, oldIdESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetId() { + return idESet; } /** @@ -301,6 +360,72 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple return revisionESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ApplicableServiceNS getApplicableServiceNS() { + if( eContainerFeatureID() != NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS ) return null; + return ( ApplicableServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetApplicableServiceNS( ApplicableServiceNS newApplicableServiceNS, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newApplicableServiceNS, + NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setApplicableServiceNS( ApplicableServiceNS newApplicableServiceNS ) { + if( newApplicableServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS + && newApplicableServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newApplicableServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newApplicableServiceNS != null ) + msgs = ( ( InternalEObject ) newApplicableServiceNS ).eInverseAdd( this, + NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE, ApplicableServiceNS.class, msgs ); + msgs = basicSetApplicableServiceNS( newApplicableServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS, newApplicableServiceNS, newApplicableServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_NS_USAGE__APPLIES_TO: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getAppliesTo() ).basicAdd( otherEnd, + msgs ); + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetApplicableServiceNS( ( ApplicableServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -311,10 +436,27 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple switch( featureID ) { case NsdPackage.SERVICE_NS_USAGE__APPLIES_TO: return ( ( InternalEList< ? > ) getAppliesTo() ).basicRemove( otherEnd, msgs ); + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + return basicSetApplicableServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE, + ApplicableServiceNS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -331,6 +473,8 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple return getPublicationStage(); case NsdPackage.SERVICE_NS_USAGE__REVISION: return getRevision(); + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + return getApplicableServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -357,6 +501,9 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple case NsdPackage.SERVICE_NS_USAGE__REVISION: setRevision( ( String ) newValue ); return; + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + setApplicableServiceNS( ( ApplicableServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -370,10 +517,10 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_NS_USAGE__APPLIES_TO: - getAppliesTo().clear(); + unsetAppliesTo(); return; case NsdPackage.SERVICE_NS_USAGE__ID: - setId( ID_EDEFAULT ); + unsetId(); return; case NsdPackage.SERVICE_NS_USAGE__PUBLICATION_STAGE: unsetPublicationStage(); @@ -381,6 +528,9 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple case NsdPackage.SERVICE_NS_USAGE__REVISION: unsetRevision(); return; + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + setApplicableServiceNS( ( ApplicableServiceNS ) null ); + return; } super.eUnset( featureID ); } @@ -394,13 +544,15 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_NS_USAGE__APPLIES_TO: - return appliesTo != null && !appliesTo.isEmpty(); + return isSetAppliesTo(); case NsdPackage.SERVICE_NS_USAGE__ID: - return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals( id ); + return isSetId(); case NsdPackage.SERVICE_NS_USAGE__PUBLICATION_STAGE: return isSetPublicationStage(); case NsdPackage.SERVICE_NS_USAGE__REVISION: return isSetRevision(); + case NsdPackage.SERVICE_NS_USAGE__APPLICABLE_SERVICE_NS: + return getApplicableServiceNS() != null; } return super.eIsSet( featureID ); } @@ -416,7 +568,10 @@ public class ServiceNsUsageImpl extends NSDObjectWithVersionAndReleaseImpl imple StringBuilder result = new StringBuilder( super.toString() ); result.append( " (id: " ); - result.append( id ); + if( idESet ) + result.append( id ); + else + result.append( "<unset>" ); result.append( ", publicationStage: " ); if( publicationStageESet ) result.append( publicationStage ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceParameterImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceParameterImpl.java index 9bf8d05..aa858ed 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceParameterImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceParameterImpl.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter; @@ -27,11 +28,14 @@ import java.math.BigDecimal; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.Enumerator; 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.EcoreUtil; /** * <!-- begin-user-doc --> @@ -47,6 +51,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceParameterImpl#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceParameterImpl#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceParameterImpl#getTypeKind <em>Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceParameterImpl#getCDC <em>CDC</em>}</li> * </ul> * * @generated @@ -72,6 +77,15 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service */ protected String defaultValue = DEFAULT_VALUE_EDEFAULT; + /** + * This is true if the Default Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean defaultValueESet; + /** * The default value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute. * <!-- begin-user-doc --> @@ -92,6 +106,15 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service */ protected BigDecimal maxValue = MAX_VALUE_EDEFAULT; + /** + * This is true if the Max Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean maxValueESet; + /** * The default value of the '{@link #getMinValue() <em>Min Value</em>}' attribute. * <!-- begin-user-doc --> @@ -112,6 +135,15 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service */ protected BigDecimal minValue = MIN_VALUE_EDEFAULT; + /** + * This is true if the Min Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean minValueESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -132,6 +164,15 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> @@ -152,6 +193,15 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service */ protected String type = TYPE_EDEFAULT; + /** + * This is true if the Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean typeESet; + /** * The default value of the '{@link #getTypeKind() <em>Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -220,8 +270,36 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public void setDefaultValue( String newDefaultValue ) { String oldDefaultValue = defaultValue; defaultValue = newDefaultValue; + boolean oldDefaultValueESet = defaultValueESet; + defaultValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_PARAMETER__DEFAULT_VALUE, oldDefaultValue, defaultValue ) ); + NsdPackage.SERVICE_PARAMETER__DEFAULT_VALUE, oldDefaultValue, defaultValue, !oldDefaultValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDefaultValue() { + String oldDefaultValue = defaultValue; + boolean oldDefaultValueESet = defaultValueESet; + defaultValue = DEFAULT_VALUE_EDEFAULT; + defaultValueESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SERVICE_PARAMETER__DEFAULT_VALUE, + oldDefaultValue, DEFAULT_VALUE_EDEFAULT, oldDefaultValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDefaultValue() { + return defaultValueESet; } /** @@ -243,8 +321,35 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public void setMaxValue( BigDecimal newMaxValue ) { BigDecimal oldMaxValue = maxValue; maxValue = newMaxValue; + boolean oldMaxValueESet = maxValueESet; + maxValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_PARAMETER__MAX_VALUE, oldMaxValue, maxValue ) ); + NsdPackage.SERVICE_PARAMETER__MAX_VALUE, oldMaxValue, maxValue, !oldMaxValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMaxValue() { + BigDecimal oldMaxValue = maxValue; + boolean oldMaxValueESet = maxValueESet; + maxValue = MAX_VALUE_EDEFAULT; + maxValueESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_PARAMETER__MAX_VALUE, oldMaxValue, MAX_VALUE_EDEFAULT, oldMaxValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMaxValue() { + return maxValueESet; } /** @@ -266,8 +371,35 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public void setMinValue( BigDecimal newMinValue ) { BigDecimal oldMinValue = minValue; minValue = newMinValue; + boolean oldMinValueESet = minValueESet; + minValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_PARAMETER__MIN_VALUE, oldMinValue, minValue ) ); + NsdPackage.SERVICE_PARAMETER__MIN_VALUE, oldMinValue, minValue, !oldMinValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMinValue() { + BigDecimal oldMinValue = minValue; + boolean oldMinValueESet = minValueESet; + minValue = MIN_VALUE_EDEFAULT; + minValueESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_PARAMETER__MIN_VALUE, oldMinValue, MIN_VALUE_EDEFAULT, oldMinValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMinValue() { + return minValueESet; } /** @@ -289,8 +421,35 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_PARAMETER__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_PARAMETER__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_PARAMETER__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -312,8 +471,35 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public void setType( String newType ) { String oldType = type; type = newType; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_PARAMETER__TYPE, oldType, type ) ); + boolean oldTypeESet = typeESet; + typeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_PARAMETER__TYPE, oldType, type, !oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetType() { + String oldType = type; + boolean oldTypeESet = typeESet; + type = TYPE_EDEFAULT; + typeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SERVICE_PARAMETER__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetType() { + return typeESet; } /** @@ -366,6 +552,92 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service return typeKindESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CDC getCDC() { + if( eContainerFeatureID() != NsdPackage.SERVICE_PARAMETER__CDC ) return null; + return ( CDC ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCDC( CDC newCDC, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCDC, NsdPackage.SERVICE_PARAMETER__CDC, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCDC( CDC newCDC ) { + if( newCDC != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_PARAMETER__CDC && newCDC != null ) ) { + if( EcoreUtil.isAncestor( this, newCDC ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCDC != null ) msgs = ( ( InternalEObject ) newCDC ).eInverseAdd( this, + NsdPackage.CDC__SERVICE_PARAMETER, CDC.class, msgs ); + msgs = basicSetCDC( newCDC, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_PARAMETER__CDC, newCDC, newCDC ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_PARAMETER__CDC: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCDC( ( CDC ) 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 NsdPackage.SERVICE_PARAMETER__CDC: + return basicSetCDC( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_PARAMETER__CDC: + return eInternalContainer().eInverseRemove( this, NsdPackage.CDC__SERVICE_PARAMETER, CDC.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -386,6 +658,8 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service return getType(); case NsdPackage.SERVICE_PARAMETER__TYPE_KIND: return getTypeKind(); + case NsdPackage.SERVICE_PARAMETER__CDC: + return getCDC(); } return super.eGet( featureID, resolve, coreType ); } @@ -416,6 +690,9 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service case NsdPackage.SERVICE_PARAMETER__TYPE_KIND: setTypeKind( ( Enumerator ) newValue ); return; + case NsdPackage.SERVICE_PARAMETER__CDC: + setCDC( ( CDC ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -429,23 +706,26 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_PARAMETER__DEFAULT_VALUE: - setDefaultValue( DEFAULT_VALUE_EDEFAULT ); + unsetDefaultValue(); return; case NsdPackage.SERVICE_PARAMETER__MAX_VALUE: - setMaxValue( MAX_VALUE_EDEFAULT ); + unsetMaxValue(); return; case NsdPackage.SERVICE_PARAMETER__MIN_VALUE: - setMinValue( MIN_VALUE_EDEFAULT ); + unsetMinValue(); return; case NsdPackage.SERVICE_PARAMETER__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.SERVICE_PARAMETER__TYPE: - setType( TYPE_EDEFAULT ); + unsetType(); return; case NsdPackage.SERVICE_PARAMETER__TYPE_KIND: unsetTypeKind(); return; + case NsdPackage.SERVICE_PARAMETER__CDC: + setCDC( ( CDC ) null ); + return; } super.eUnset( featureID ); } @@ -459,18 +739,19 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_PARAMETER__DEFAULT_VALUE: - return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null - : !DEFAULT_VALUE_EDEFAULT.equals( defaultValue ); + return isSetDefaultValue(); case NsdPackage.SERVICE_PARAMETER__MAX_VALUE: - return MAX_VALUE_EDEFAULT == null ? maxValue != null : !MAX_VALUE_EDEFAULT.equals( maxValue ); + return isSetMaxValue(); case NsdPackage.SERVICE_PARAMETER__MIN_VALUE: - return MIN_VALUE_EDEFAULT == null ? minValue != null : !MIN_VALUE_EDEFAULT.equals( minValue ); + return isSetMinValue(); case NsdPackage.SERVICE_PARAMETER__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.SERVICE_PARAMETER__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); + return isSetType(); case NsdPackage.SERVICE_PARAMETER__TYPE_KIND: return isSetTypeKind(); + case NsdPackage.SERVICE_PARAMETER__CDC: + return getCDC() != null; } return super.eIsSet( featureID ); } @@ -486,15 +767,30 @@ public class ServiceParameterImpl extends DocumentedClassImpl implements Service StringBuilder result = new StringBuilder( super.toString() ); result.append( " (defaultValue: " ); - result.append( defaultValue ); + if( defaultValueESet ) + result.append( defaultValue ); + else + result.append( "<unset>" ); result.append( ", maxValue: " ); - result.append( maxValue ); + if( maxValueESet ) + result.append( maxValue ); + else + result.append( "<unset>" ); result.append( ", minValue: " ); - result.append( minValue ); + if( minValueESet ) + result.append( minValue ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", type: " ); - result.append( type ); + if( typeESet ) + result.append( type ); + else + result.append( "<unset>" ); result.append( ", typeKind: " ); if( typeKindESet ) result.append( typeKind ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeImpl.java index 5cc932b..d386b85 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeImpl.java @@ -20,15 +20,19 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ACSIServicesKind; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceType; 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; /** * <!-- begin-user-doc --> @@ -39,6 +43,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeImpl#getName <em>Name</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeImpl#getApplicableServices <em>Applicable Services</em>}</li> * </ul> * * @generated @@ -142,6 +147,96 @@ public class ServiceTypeImpl extends MinimalEObjectImpl.Container implements Ser return nameESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ApplicableServices getApplicableServices() { + if( eContainerFeatureID() != NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES ) return null; + return ( ApplicableServices ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetApplicableServices( ApplicableServices newApplicableServices, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newApplicableServices, + NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setApplicableServices( ApplicableServices newApplicableServices ) { + if( newApplicableServices != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES + && newApplicableServices != null ) ) { + if( EcoreUtil.isAncestor( this, newApplicableServices ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newApplicableServices != null ) msgs = ( ( InternalEObject ) newApplicableServices ).eInverseAdd( this, + NsdPackage.APPLICABLE_SERVICES__SERVICE, ApplicableServices.class, msgs ); + msgs = basicSetApplicableServices( newApplicableServices, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES, newApplicableServices, newApplicableServices ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetApplicableServices( ( ApplicableServices ) 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 NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + return basicSetApplicableServices( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + return eInternalContainer().eInverseRemove( this, NsdPackage.APPLICABLE_SERVICES__SERVICE, + ApplicableServices.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -152,6 +247,8 @@ public class ServiceTypeImpl extends MinimalEObjectImpl.Container implements Ser switch( featureID ) { case NsdPackage.SERVICE_TYPE__NAME: return getName(); + case NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + return getApplicableServices(); } return super.eGet( featureID, resolve, coreType ); } @@ -167,6 +264,9 @@ public class ServiceTypeImpl extends MinimalEObjectImpl.Container implements Ser case NsdPackage.SERVICE_TYPE__NAME: setName( ( ACSIServicesKind ) newValue ); return; + case NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + setApplicableServices( ( ApplicableServices ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -182,6 +282,9 @@ public class ServiceTypeImpl extends MinimalEObjectImpl.Container implements Ser case NsdPackage.SERVICE_TYPE__NAME: unsetName(); return; + case NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + setApplicableServices( ( ApplicableServices ) null ); + return; } super.eUnset( featureID ); } @@ -196,6 +299,8 @@ public class ServiceTypeImpl extends MinimalEObjectImpl.Container implements Ser switch( featureID ) { case NsdPackage.SERVICE_TYPE__NAME: return isSetName(); + case NsdPackage.SERVICE_TYPE__APPLICABLE_SERVICES: + return getApplicableServices() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationImpl.java deleted file mode 100644 index f031020..0000000 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationImpl.java +++ /dev/null @@ -1,602 +0,0 @@ -/** - * Copyright (c) 2019 CentraleSupélec & EDF. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * This file is part of the RiseClipse tool - * - * Contributors: - * Computer Science Department, CentraleSupélec - * EDF R&D - * Contacts: - * dominique.marcadet@centralesupelec.fr - * aurelie.dehouck-neveu@edf.fr - * Web site: - * http://wdi.supelec.fr/software/RiseClipse/ - * - */ -package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; - -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; -import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.common.util.Enumerator; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -/** - * <!-- begin-user-doc --> - * An implementation of the model object '<em><b>Service Type Realization</b></em>'. - * <!-- end-user-doc --> - * <p> - * The following features are implemented: - * </p> - * <ul> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getFc <em>Fc</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getName <em>Name</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getPresCond <em>Pres Cond</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getPresCondArgs <em>Pres Cond Args</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getPresCondArgsID <em>Pres Cond Args ID</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getType <em>Type</em>}</li> - * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationImpl#getTypeKind <em>Type Kind</em>}</li> - * </ul> - * - * @generated - */ -public class ServiceTypeRealizationImpl extends MinimalEObjectImpl.Container implements ServiceTypeRealization { - /** - * The default value of the '{@link #getFc() <em>Fc</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getFc() - * @generated - * @ordered - */ - protected static final String FC_EDEFAULT = null; - - /** - * The cached value of the '{@link #getFc() <em>Fc</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getFc() - * @generated - * @ordered - */ - protected String fc = FC_EDEFAULT; - - /** - * The default value of the '{@link #getName() <em>Name</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() <em>Name</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The default value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getPresCond() - * @generated - * @ordered - */ - protected static final String PRES_COND_EDEFAULT = "M"; - - /** - * The cached value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getPresCond() - * @generated - * @ordered - */ - protected String presCond = PRES_COND_EDEFAULT; - - /** - * This is true if the Pres Cond attribute has been set. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - protected boolean presCondESet; - - /** - * The default value of the '{@link #getPresCondArgs() <em>Pres Cond Args</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getPresCondArgs() - * @generated - * @ordered - */ - protected static final String PRES_COND_ARGS_EDEFAULT = null; - - /** - * The cached value of the '{@link #getPresCondArgs() <em>Pres Cond Args</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getPresCondArgs() - * @generated - * @ordered - */ - protected String presCondArgs = PRES_COND_ARGS_EDEFAULT; - - /** - * The default value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getPresCondArgsID() - * @generated - * @ordered - */ - protected static final String PRES_COND_ARGS_ID_EDEFAULT = null; - - /** - * The cached value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getPresCondArgsID() - * @generated - * @ordered - */ - protected String presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; - - /** - * The default value of the '{@link #getType() <em>Type</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getType() - * @generated - * @ordered - */ - protected static final String TYPE_EDEFAULT = null; - - /** - * The cached value of the '{@link #getType() <em>Type</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getType() - * @generated - * @ordered - */ - protected String type = TYPE_EDEFAULT; - - /** - * The default value of the '{@link #getTypeKind() <em>Type Kind</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getTypeKind() - * @generated - * @ordered - */ - protected static final Enumerator TYPE_KIND_EDEFAULT = ( Enumerator ) NsdFactory.eINSTANCE - .createFromString( NsdPackage.eINSTANCE.getAttributeTypeKind(), "BASIC" ); - - /** - * The cached value of the '{@link #getTypeKind() <em>Type Kind</em>}' attribute. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @see #getTypeKind() - * @generated - * @ordered - */ - protected Enumerator typeKind = TYPE_KIND_EDEFAULT; - - /** - * This is true if the Type Kind attribute has been set. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - * @ordered - */ - protected boolean typeKindESet; - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - protected ServiceTypeRealizationImpl() { - super(); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - protected EClass eStaticClass() { - return NsdPackage.Literals.SERVICE_TYPE_REALIZATION; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getFc() { - return fc; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setFc( String newFc ) { - String oldFc = fc; - fc = newFc; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SERVICE_TYPE_REALIZATION__FC, oldFc, fc ) ); - } - - /** - * <!-- 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, - NsdPackage.SERVICE_TYPE_REALIZATION__NAME, oldName, name ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getPresCond() { - return presCond; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setPresCond( String newPresCond ) { - String oldPresCond = presCond; - presCond = newPresCond; - boolean oldPresCondESet = presCondESet; - presCondESet = true; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND, oldPresCond, presCond, !oldPresCondESet ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void unsetPresCond() { - String oldPresCond = presCond; - boolean oldPresCondESet = presCondESet; - presCond = PRES_COND_EDEFAULT; - presCondESet = false; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, - NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND, oldPresCond, PRES_COND_EDEFAULT, oldPresCondESet ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public boolean isSetPresCond() { - return presCondESet; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getPresCondArgs() { - return presCondArgs; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setPresCondArgs( String newPresCondArgs ) { - String oldPresCondArgs = presCondArgs; - presCondArgs = newPresCondArgs; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS, oldPresCondArgs, presCondArgs ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getPresCondArgsID() { - return presCondArgsID; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setPresCondArgsID( String newPresCondArgsID ) { - String oldPresCondArgsID = presCondArgsID; - presCondArgsID = newPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID, oldPresCondArgsID, presCondArgsID ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String getType() { - return type; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setType( String newType ) { - String oldType = type; - type = newType; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_TYPE_REALIZATION__TYPE, oldType, type ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Enumerator getTypeKind() { - return typeKind; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void setTypeKind( Enumerator newTypeKind ) { - Enumerator oldTypeKind = typeKind; - typeKind = newTypeKind; - boolean oldTypeKindESet = typeKindESet; - typeKindESet = true; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND, oldTypeKind, typeKind, !oldTypeKindESet ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void unsetTypeKind() { - Enumerator oldTypeKind = typeKind; - boolean oldTypeKindESet = typeKindESet; - typeKind = TYPE_KIND_EDEFAULT; - typeKindESet = false; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, - NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND, oldTypeKind, TYPE_KIND_EDEFAULT, oldTypeKindESet ) ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public boolean isSetTypeKind() { - return typeKindESet; - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public Object eGet( int featureID, boolean resolve, boolean coreType ) { - switch( featureID ) { - case NsdPackage.SERVICE_TYPE_REALIZATION__FC: - return getFc(); - case NsdPackage.SERVICE_TYPE_REALIZATION__NAME: - return getName(); - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND: - return getPresCond(); - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS: - return getPresCondArgs(); - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID: - return getPresCondArgsID(); - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE: - return getType(); - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND: - return getTypeKind(); - } - return super.eGet( featureID, resolve, coreType ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eSet( int featureID, Object newValue ) { - switch( featureID ) { - case NsdPackage.SERVICE_TYPE_REALIZATION__FC: - setFc( ( String ) newValue ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__NAME: - setName( ( String ) newValue ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND: - setPresCond( ( String ) newValue ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS: - setPresCondArgs( ( String ) newValue ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID: - setPresCondArgsID( ( String ) newValue ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE: - setType( ( String ) newValue ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND: - setTypeKind( ( Enumerator ) newValue ); - return; - } - super.eSet( featureID, newValue ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public void eUnset( int featureID ) { - switch( featureID ) { - case NsdPackage.SERVICE_TYPE_REALIZATION__FC: - setFc( FC_EDEFAULT ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__NAME: - setName( NAME_EDEFAULT ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND: - unsetPresCond(); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS: - setPresCondArgs( PRES_COND_ARGS_EDEFAULT ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID: - setPresCondArgsID( PRES_COND_ARGS_ID_EDEFAULT ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE: - setType( TYPE_EDEFAULT ); - return; - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND: - unsetTypeKind(); - return; - } - super.eUnset( featureID ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public boolean eIsSet( int featureID ) { - switch( featureID ) { - case NsdPackage.SERVICE_TYPE_REALIZATION__FC: - return FC_EDEFAULT == null ? fc != null : !FC_EDEFAULT.equals( fc ); - case NsdPackage.SERVICE_TYPE_REALIZATION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND: - return isSetPresCond(); - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS: - return PRES_COND_ARGS_EDEFAULT == null ? presCondArgs != null - : !PRES_COND_ARGS_EDEFAULT.equals( presCondArgs ); - case NsdPackage.SERVICE_TYPE_REALIZATION__PRES_COND_ARGS_ID: - return PRES_COND_ARGS_ID_EDEFAULT == null ? presCondArgsID != null - : !PRES_COND_ARGS_ID_EDEFAULT.equals( presCondArgsID ); - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); - case NsdPackage.SERVICE_TYPE_REALIZATION__TYPE_KIND: - return isSetTypeKind(); - } - return super.eIsSet( featureID ); - } - - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - @Override - public String toString() { - if( eIsProxy() ) return super.toString(); - - StringBuilder result = new StringBuilder( super.toString() ); - result.append( " (fc: " ); - result.append( fc ); - result.append( ", name: " ); - result.append( name ); - result.append( ", presCond: " ); - if( presCondESet ) - result.append( presCond ); - else - result.append( "<unset>" ); - result.append( ", presCondArgs: " ); - result.append( presCondArgs ); - result.append( ", presCondArgsID: " ); - result.append( presCondArgsID ); - result.append( ", type: " ); - result.append( type ); - result.append( ", typeKind: " ); - if( typeKindESet ) - result.append( typeKind ); - else - result.append( "<unset>" ); - result.append( ')' ); - return result.toString(); - } - -} //ServiceTypeRealizationImpl diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationsImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationsImpl.java index 5d7837c..5390ad5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationsImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/ServiceTypeRealizationsImpl.java @@ -21,10 +21,12 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceNS; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations; 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; @@ -32,9 +34,10 @@ 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.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; /** @@ -46,6 +49,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl#getServiceTypeRealization <em>Service Type Realization</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ServiceTypeRealizationsImpl#getServiceNS <em>Service NS</em>}</li> * </ul> * * @generated @@ -88,12 +92,97 @@ public class ServiceTypeRealizationsImpl extends MinimalEObjectImpl.Container im @Override public EList< ConstructedAttribute > getServiceTypeRealization() { if( serviceTypeRealization == null ) { - serviceTypeRealization = new EObjectContainmentEList< ConstructedAttribute >( ConstructedAttribute.class, - this, NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION ); + serviceTypeRealization = new EObjectContainmentWithInverseEList.Unsettable< ConstructedAttribute >( + ConstructedAttribute.class, this, NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION, + NsdPackage.CONSTRUCTED_ATTRIBUTE__SERVICE_TYPE_REALIZATIONS ); } return serviceTypeRealization; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetServiceTypeRealization() { + if( serviceTypeRealization != null ) ( ( InternalEList.Unsettable< ? > ) serviceTypeRealization ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetServiceTypeRealization() { + return serviceTypeRealization != null && ( ( InternalEList.Unsettable< ? > ) serviceTypeRealization ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ServiceNS getServiceNS() { + if( eContainerFeatureID() != NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS ) return null; + return ( ServiceNS ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetServiceNS( ServiceNS newServiceNS, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newServiceNS, NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS, + msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setServiceNS( ServiceNS newServiceNS ) { + if( newServiceNS != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS + && newServiceNS != null ) ) { + if( EcoreUtil.isAncestor( this, newServiceNS ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newServiceNS != null ) msgs = ( ( InternalEObject ) newServiceNS ).eInverseAdd( this, + NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, ServiceNS.class, msgs ); + msgs = basicSetServiceNS( newServiceNS, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS, newServiceNS, newServiceNS ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getServiceTypeRealization() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetServiceNS( ( ServiceNS ) otherEnd, msgs ); + } + return super.eInverseAdd( otherEnd, featureID, msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -104,10 +193,27 @@ public class ServiceTypeRealizationsImpl extends MinimalEObjectImpl.Container im switch( featureID ) { case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION: return ( ( InternalEList< ? > ) getServiceTypeRealization() ).basicRemove( otherEnd, msgs ); + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + return basicSetServiceNS( null, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + return eInternalContainer().eInverseRemove( this, NsdPackage.SERVICE_NS__SERVICE_TYPE_REALIZATIONS, + ServiceNS.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -118,6 +224,8 @@ public class ServiceTypeRealizationsImpl extends MinimalEObjectImpl.Container im switch( featureID ) { case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION: return getServiceTypeRealization(); + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + return getServiceNS(); } return super.eGet( featureID, resolve, coreType ); } @@ -135,6 +243,9 @@ public class ServiceTypeRealizationsImpl extends MinimalEObjectImpl.Container im getServiceTypeRealization().clear(); getServiceTypeRealization().addAll( ( Collection< ? extends ConstructedAttribute > ) newValue ); return; + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + setServiceNS( ( ServiceNS ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -148,7 +259,10 @@ public class ServiceTypeRealizationsImpl extends MinimalEObjectImpl.Container im public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION: - getServiceTypeRealization().clear(); + unsetServiceTypeRealization(); + return; + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + setServiceNS( ( ServiceNS ) null ); return; } super.eUnset( featureID ); @@ -163,7 +277,9 @@ public class ServiceTypeRealizationsImpl extends MinimalEObjectImpl.Container im public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_TYPE_REALIZATION: - return serviceTypeRealization != null && !serviceTypeRealization.isEmpty(); + return isSetServiceTypeRealization(); + case NsdPackage.SERVICE_TYPE_REALIZATIONS__SERVICE_NS: + return getServiceNS() != null; } return super.eIsSet( featureID ); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataAttributeImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataAttributeImpl.java index 3bbffb3..d18a214 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataAttributeImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataAttributeImpl.java @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute; @@ -27,11 +28,14 @@ import java.math.BigDecimal; import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.Enumerator; 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.EcoreUtil; /** * <!-- begin-user-doc --> @@ -54,6 +58,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataAttributeImpl#getSizeAttribute <em>Size Attribute</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataAttributeImpl#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataAttributeImpl#getTypeKind <em>Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataAttributeImpl#getConstructedAttribute <em>Constructed Attribute</em>}</li> * </ul> * * @generated @@ -79,6 +84,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String defaultValue = DEFAULT_VALUE_EDEFAULT; + /** + * This is true if the Default Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean defaultValueESet; + /** * The default value of the '{@link #isIsArray() <em>Is Array</em>}' attribute. * <!-- begin-user-doc --> @@ -128,6 +142,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String maxIndexAttribute = MAX_INDEX_ATTRIBUTE_EDEFAULT; + /** + * This is true if the Max Index Attribute attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean maxIndexAttributeESet; + /** * The default value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute. * <!-- begin-user-doc --> @@ -148,6 +171,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected BigDecimal maxValue = MAX_VALUE_EDEFAULT; + /** + * This is true if the Max Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean maxValueESet; + /** * The default value of the '{@link #getMinIndex() <em>Min Index</em>}' attribute. * <!-- begin-user-doc --> @@ -197,6 +229,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected BigDecimal minValue = MIN_VALUE_EDEFAULT; + /** + * This is true if the Min Value attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean minValueESet; + /** * The default value of the '{@link #getName() <em>Name</em>}' attribute. * <!-- begin-user-doc --> @@ -217,6 +258,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. * <!-- begin-user-doc --> @@ -266,6 +316,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String presCondArgs = PRES_COND_ARGS_EDEFAULT; + /** + * This is true if the Pres Cond Args attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsESet; + /** * The default value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. * <!-- begin-user-doc --> @@ -286,6 +345,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + /** + * This is true if the Pres Cond Args ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsIDESet; + /** * The default value of the '{@link #getSizeAttribute() <em>Size Attribute</em>}' attribute. * <!-- begin-user-doc --> @@ -306,6 +374,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String sizeAttribute = SIZE_ATTRIBUTE_EDEFAULT; + /** + * This is true if the Size Attribute attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean sizeAttributeESet; + /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> @@ -326,6 +403,15 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData */ protected String type = TYPE_EDEFAULT; + /** + * This is true if the Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean typeESet; + /** * The default value of the '{@link #getTypeKind() <em>Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -394,8 +480,36 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setDefaultValue( String newDefaultValue ) { String oldDefaultValue = defaultValue; defaultValue = newDefaultValue; + boolean oldDefaultValueESet = defaultValueESet; + defaultValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__DEFAULT_VALUE, oldDefaultValue, defaultValue ) ); + NsdPackage.SUB_DATA_ATTRIBUTE__DEFAULT_VALUE, oldDefaultValue, defaultValue, !oldDefaultValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetDefaultValue() { + String oldDefaultValue = defaultValue; + boolean oldDefaultValueESet = defaultValueESet; + defaultValue = DEFAULT_VALUE_EDEFAULT; + defaultValueESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_ATTRIBUTE__DEFAULT_VALUE, + oldDefaultValue, DEFAULT_VALUE_EDEFAULT, oldDefaultValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetDefaultValue() { + return defaultValueESet; } /** @@ -467,8 +581,37 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setMaxIndexAttribute( String newMaxIndexAttribute ) { String oldMaxIndexAttribute = maxIndexAttribute; maxIndexAttribute = newMaxIndexAttribute; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, oldMaxIndexAttribute, maxIndexAttribute ) ); + boolean oldMaxIndexAttributeESet = maxIndexAttributeESet; + maxIndexAttributeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, + oldMaxIndexAttribute, maxIndexAttribute, !oldMaxIndexAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMaxIndexAttribute() { + String oldMaxIndexAttribute = maxIndexAttribute; + boolean oldMaxIndexAttributeESet = maxIndexAttributeESet; + maxIndexAttribute = MAX_INDEX_ATTRIBUTE_EDEFAULT; + maxIndexAttributeESet = false; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE, + oldMaxIndexAttribute, MAX_INDEX_ATTRIBUTE_EDEFAULT, oldMaxIndexAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMaxIndexAttribute() { + return maxIndexAttributeESet; } /** @@ -490,8 +633,35 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setMaxValue( BigDecimal newMaxValue ) { BigDecimal oldMaxValue = maxValue; maxValue = newMaxValue; + boolean oldMaxValueESet = maxValueESet; + maxValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__MAX_VALUE, oldMaxValue, maxValue ) ); + NsdPackage.SUB_DATA_ATTRIBUTE__MAX_VALUE, oldMaxValue, maxValue, !oldMaxValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMaxValue() { + BigDecimal oldMaxValue = maxValue; + boolean oldMaxValueESet = maxValueESet; + maxValue = MAX_VALUE_EDEFAULT; + maxValueESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_ATTRIBUTE__MAX_VALUE, oldMaxValue, MAX_VALUE_EDEFAULT, oldMaxValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMaxValue() { + return maxValueESet; } /** @@ -563,8 +733,35 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setMinValue( BigDecimal newMinValue ) { BigDecimal oldMinValue = minValue; minValue = newMinValue; + boolean oldMinValueESet = minValueESet; + minValueESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__MIN_VALUE, oldMinValue, minValue ) ); + NsdPackage.SUB_DATA_ATTRIBUTE__MIN_VALUE, oldMinValue, minValue, !oldMinValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMinValue() { + BigDecimal oldMinValue = minValue; + boolean oldMinValueESet = minValueESet; + minValue = MIN_VALUE_EDEFAULT; + minValueESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_ATTRIBUTE__MIN_VALUE, oldMinValue, MIN_VALUE_EDEFAULT, oldMinValueESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMinValue() { + return minValueESet; } /** @@ -586,8 +783,35 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_ATTRIBUTE__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_ATTRIBUTE__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_ATTRIBUTE__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -659,8 +883,36 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setPresCondArgs( String newPresCondArgs ) { String oldPresCondArgs = presCondArgs; presCondArgs = newPresCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgsESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS, oldPresCondArgs, presCondArgs ) ); + NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS, oldPresCondArgs, presCondArgs, !oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgs() { + String oldPresCondArgs = presCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgs = PRES_COND_ARGS_EDEFAULT; + presCondArgsESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS, + oldPresCondArgs, PRES_COND_ARGS_EDEFAULT, oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgs() { + return presCondArgsESet; } /** @@ -682,8 +934,37 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setPresCondArgsID( String newPresCondArgsID ) { String oldPresCondArgsID = presCondArgsID; presCondArgsID = newPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, oldPresCondArgsID, presCondArgsID ) ); + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsIDESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, + oldPresCondArgsID, presCondArgsID, !oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgsID() { + String oldPresCondArgsID = presCondArgsID; + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + presCondArgsIDESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID, + oldPresCondArgsID, PRES_COND_ARGS_ID_EDEFAULT, oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgsID() { + return presCondArgsIDESet; } /** @@ -705,8 +986,37 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setSizeAttribute( String newSizeAttribute ) { String oldSizeAttribute = sizeAttribute; sizeAttribute = newSizeAttribute; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE, oldSizeAttribute, sizeAttribute ) ); + boolean oldSizeAttributeESet = sizeAttributeESet; + sizeAttributeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE, + oldSizeAttribute, sizeAttribute, !oldSizeAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetSizeAttribute() { + String oldSizeAttribute = sizeAttribute; + boolean oldSizeAttributeESet = sizeAttributeESet; + sizeAttribute = SIZE_ATTRIBUTE_EDEFAULT; + sizeAttributeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE, + oldSizeAttribute, SIZE_ATTRIBUTE_EDEFAULT, oldSizeAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetSizeAttribute() { + return sizeAttributeESet; } /** @@ -728,8 +1038,35 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void setType( String newType ) { String oldType = type; type = newType; - if( eNotificationRequired() ) eNotify( - new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_ATTRIBUTE__TYPE, oldType, type ) ); + boolean oldTypeESet = typeESet; + typeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_ATTRIBUTE__TYPE, oldType, type, !oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetType() { + String oldType = type; + boolean oldTypeESet = typeESet; + type = TYPE_EDEFAULT; + typeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_ATTRIBUTE__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetType() { + return typeESet; } /** @@ -782,6 +1119,98 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData return typeKindESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ConstructedAttribute getConstructedAttribute() { + if( eContainerFeatureID() != NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE ) return null; + return ( ConstructedAttribute ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetConstructedAttribute( ConstructedAttribute newConstructedAttribute, + NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newConstructedAttribute, + NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setConstructedAttribute( ConstructedAttribute newConstructedAttribute ) { + if( newConstructedAttribute != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE + && newConstructedAttribute != null ) ) { + if( EcoreUtil.isAncestor( this, newConstructedAttribute ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newConstructedAttribute != null ) + msgs = ( ( InternalEObject ) newConstructedAttribute ).eInverseAdd( this, + NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE, ConstructedAttribute.class, msgs ); + msgs = basicSetConstructedAttribute( newConstructedAttribute, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE, + newConstructedAttribute, newConstructedAttribute ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetConstructedAttribute( ( ConstructedAttribute ) 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 NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + return basicSetConstructedAttribute( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + return eInternalContainer().eInverseRemove( this, NsdPackage.CONSTRUCTED_ATTRIBUTE__SUB_DATA_ATTRIBUTE, + ConstructedAttribute.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -816,6 +1245,8 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData return getType(); case NsdPackage.SUB_DATA_ATTRIBUTE__TYPE_KIND: return getTypeKind(); + case NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + return getConstructedAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -867,6 +1298,9 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData case NsdPackage.SUB_DATA_ATTRIBUTE__TYPE_KIND: setTypeKind( ( Enumerator ) newValue ); return; + case NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + setConstructedAttribute( ( ConstructedAttribute ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -880,44 +1314,47 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.SUB_DATA_ATTRIBUTE__DEFAULT_VALUE: - setDefaultValue( DEFAULT_VALUE_EDEFAULT ); + unsetDefaultValue(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__IS_ARRAY: unsetIsArray(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE: - setMaxIndexAttribute( MAX_INDEX_ATTRIBUTE_EDEFAULT ); + unsetMaxIndexAttribute(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__MAX_VALUE: - setMaxValue( MAX_VALUE_EDEFAULT ); + unsetMaxValue(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__MIN_INDEX: unsetMinIndex(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__MIN_VALUE: - setMinValue( MIN_VALUE_EDEFAULT ); + unsetMinValue(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND: unsetPresCond(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS: - setPresCondArgs( PRES_COND_ARGS_EDEFAULT ); + unsetPresCondArgs(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID: - setPresCondArgsID( PRES_COND_ARGS_ID_EDEFAULT ); + unsetPresCondArgsID(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE: - setSizeAttribute( SIZE_ATTRIBUTE_EDEFAULT ); + unsetSizeAttribute(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__TYPE: - setType( TYPE_EDEFAULT ); + unsetType(); return; case NsdPackage.SUB_DATA_ATTRIBUTE__TYPE_KIND: unsetTypeKind(); return; + case NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + setConstructedAttribute( ( ConstructedAttribute ) null ); + return; } super.eUnset( featureID ); } @@ -931,36 +1368,33 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.SUB_DATA_ATTRIBUTE__DEFAULT_VALUE: - return DEFAULT_VALUE_EDEFAULT == null ? defaultValue != null - : !DEFAULT_VALUE_EDEFAULT.equals( defaultValue ); + return isSetDefaultValue(); case NsdPackage.SUB_DATA_ATTRIBUTE__IS_ARRAY: return isSetIsArray(); case NsdPackage.SUB_DATA_ATTRIBUTE__MAX_INDEX_ATTRIBUTE: - return MAX_INDEX_ATTRIBUTE_EDEFAULT == null ? maxIndexAttribute != null - : !MAX_INDEX_ATTRIBUTE_EDEFAULT.equals( maxIndexAttribute ); + return isSetMaxIndexAttribute(); case NsdPackage.SUB_DATA_ATTRIBUTE__MAX_VALUE: - return MAX_VALUE_EDEFAULT == null ? maxValue != null : !MAX_VALUE_EDEFAULT.equals( maxValue ); + return isSetMaxValue(); case NsdPackage.SUB_DATA_ATTRIBUTE__MIN_INDEX: return isSetMinIndex(); case NsdPackage.SUB_DATA_ATTRIBUTE__MIN_VALUE: - return MIN_VALUE_EDEFAULT == null ? minValue != null : !MIN_VALUE_EDEFAULT.equals( minValue ); + return isSetMinValue(); case NsdPackage.SUB_DATA_ATTRIBUTE__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND: return isSetPresCond(); case NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS: - return PRES_COND_ARGS_EDEFAULT == null ? presCondArgs != null - : !PRES_COND_ARGS_EDEFAULT.equals( presCondArgs ); + return isSetPresCondArgs(); case NsdPackage.SUB_DATA_ATTRIBUTE__PRES_COND_ARGS_ID: - return PRES_COND_ARGS_ID_EDEFAULT == null ? presCondArgsID != null - : !PRES_COND_ARGS_ID_EDEFAULT.equals( presCondArgsID ); + return isSetPresCondArgsID(); case NsdPackage.SUB_DATA_ATTRIBUTE__SIZE_ATTRIBUTE: - return SIZE_ATTRIBUTE_EDEFAULT == null ? sizeAttribute != null - : !SIZE_ATTRIBUTE_EDEFAULT.equals( sizeAttribute ); + return isSetSizeAttribute(); case NsdPackage.SUB_DATA_ATTRIBUTE__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); + return isSetType(); case NsdPackage.SUB_DATA_ATTRIBUTE__TYPE_KIND: return isSetTypeKind(); + case NsdPackage.SUB_DATA_ATTRIBUTE__CONSTRUCTED_ATTRIBUTE: + return getConstructedAttribute() != null; } return super.eIsSet( featureID ); } @@ -976,38 +1410,65 @@ public class SubDataAttributeImpl extends DocumentedClassImpl implements SubData StringBuilder result = new StringBuilder( super.toString() ); result.append( " (defaultValue: " ); - result.append( defaultValue ); + if( defaultValueESet ) + result.append( defaultValue ); + else + result.append( "<unset>" ); result.append( ", isArray: " ); if( isArrayESet ) result.append( isArray ); else result.append( "<unset>" ); result.append( ", maxIndexAttribute: " ); - result.append( maxIndexAttribute ); + if( maxIndexAttributeESet ) + result.append( maxIndexAttribute ); + else + result.append( "<unset>" ); result.append( ", maxValue: " ); - result.append( maxValue ); + if( maxValueESet ) + result.append( maxValue ); + else + result.append( "<unset>" ); result.append( ", minIndex: " ); if( minIndexESet ) result.append( minIndex ); else result.append( "<unset>" ); result.append( ", minValue: " ); - result.append( minValue ); + if( minValueESet ) + result.append( minValue ); + else + result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", presCond: " ); if( presCondESet ) result.append( presCond ); else result.append( "<unset>" ); result.append( ", presCondArgs: " ); - result.append( presCondArgs ); + if( presCondArgsESet ) + result.append( presCondArgs ); + else + result.append( "<unset>" ); result.append( ", presCondArgsID: " ); - result.append( presCondArgsID ); + if( presCondArgsIDESet ) + result.append( presCondArgsID ); + else + result.append( "<unset>" ); result.append( ", sizeAttribute: " ); - result.append( sizeAttribute ); + if( sizeAttributeESet ) + result.append( sizeAttribute ); + else + result.append( "<unset>" ); result.append( ", type: " ); - result.append( type ); + if( typeESet ) + result.append( type ); + else + result.append( "<unset>" ); result.append( ", typeKind: " ); if( typeKindESet ) result.append( typeKind ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataObjectImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataObjectImpl.java index 794ede0..6c18d30 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataObjectImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/SubDataObjectImpl.java @@ -19,15 +19,19 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject; 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.util.EcoreUtil; /** * <!-- begin-user-doc --> @@ -48,6 +52,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getUnderlyingType <em>Underlying Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getUnderlyingTypeKind <em>Underlying Type Kind</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getCDC <em>CDC</em>}</li> * </ul> * * @generated @@ -102,6 +107,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String maxIndexAttribute = MAX_INDEX_ATTRIBUTE_EDEFAULT; + /** + * This is true if the Max Index Attribute attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean maxIndexAttributeESet; + /** * The default value of the '{@link #getMinIndex() <em>Min Index</em>}' attribute. * <!-- begin-user-doc --> @@ -151,6 +165,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String name = NAME_EDEFAULT; + /** + * This is true if the Name attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean nameESet; + /** * The default value of the '{@link #getPresCond() <em>Pres Cond</em>}' attribute. * <!-- begin-user-doc --> @@ -200,6 +223,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String presCondArgs = PRES_COND_ARGS_EDEFAULT; + /** + * This is true if the Pres Cond Args attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsESet; + /** * The default value of the '{@link #getPresCondArgsID() <em>Pres Cond Args ID</em>}' attribute. * <!-- begin-user-doc --> @@ -220,6 +252,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + /** + * This is true if the Pres Cond Args ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean presCondArgsIDESet; + /** * The default value of the '{@link #getSizeAttribute() <em>Size Attribute</em>}' attribute. * <!-- begin-user-doc --> @@ -240,6 +281,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String sizeAttribute = SIZE_ATTRIBUTE_EDEFAULT; + /** + * This is true if the Size Attribute attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean sizeAttributeESet; + /** * The default value of the '{@link #getType() <em>Type</em>}' attribute. * <!-- begin-user-doc --> @@ -260,6 +310,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String type = TYPE_EDEFAULT; + /** + * This is true if the Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean typeESet; + /** * The default value of the '{@link #getUnderlyingType() <em>Underlying Type</em>}' attribute. * <!-- begin-user-doc --> @@ -280,6 +339,15 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected String underlyingType = UNDERLYING_TYPE_EDEFAULT; + /** + * This is true if the Underlying Type attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean underlyingTypeESet; + /** * The default value of the '{@link #getUnderlyingTypeKind() <em>Underlying Type Kind</em>}' attribute. * <!-- begin-user-doc --> @@ -397,8 +465,37 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setMaxIndexAttribute( String newMaxIndexAttribute ) { String oldMaxIndexAttribute = maxIndexAttribute; maxIndexAttribute = newMaxIndexAttribute; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE, oldMaxIndexAttribute, maxIndexAttribute ) ); + boolean oldMaxIndexAttributeESet = maxIndexAttributeESet; + maxIndexAttributeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE, + oldMaxIndexAttribute, maxIndexAttribute, !oldMaxIndexAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetMaxIndexAttribute() { + String oldMaxIndexAttribute = maxIndexAttribute; + boolean oldMaxIndexAttributeESet = maxIndexAttributeESet; + maxIndexAttribute = MAX_INDEX_ATTRIBUTE_EDEFAULT; + maxIndexAttributeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE, + oldMaxIndexAttribute, MAX_INDEX_ATTRIBUTE_EDEFAULT, oldMaxIndexAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetMaxIndexAttribute() { + return maxIndexAttributeESet; } /** @@ -470,8 +567,35 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setName( String newName ) { String oldName = name; name = newName; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__NAME, oldName, name ) ); + boolean oldNameESet = nameESet; + nameESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__NAME, oldName, name, !oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetName() { + String oldName = name; + boolean oldNameESet = nameESet; + name = NAME_EDEFAULT; + nameESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__NAME, oldName, NAME_EDEFAULT, oldNameESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetName() { + return nameESet; } /** @@ -543,8 +667,36 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setPresCondArgs( String newPresCondArgs ) { String oldPresCondArgs = presCondArgs; presCondArgs = newPresCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgsESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS, oldPresCondArgs, presCondArgs ) ); + NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS, oldPresCondArgs, presCondArgs, !oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgs() { + String oldPresCondArgs = presCondArgs; + boolean oldPresCondArgsESet = presCondArgsESet; + presCondArgs = PRES_COND_ARGS_EDEFAULT; + presCondArgsESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS, + oldPresCondArgs, PRES_COND_ARGS_EDEFAULT, oldPresCondArgsESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgs() { + return presCondArgsESet; } /** @@ -566,8 +718,37 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setPresCondArgsID( String newPresCondArgsID ) { String oldPresCondArgsID = presCondArgsID; presCondArgsID = newPresCondArgsID; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS_ID, oldPresCondArgsID, presCondArgsID ) ); + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsIDESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS_ID, + oldPresCondArgsID, presCondArgsID, !oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetPresCondArgsID() { + String oldPresCondArgsID = presCondArgsID; + boolean oldPresCondArgsIDESet = presCondArgsIDESet; + presCondArgsID = PRES_COND_ARGS_ID_EDEFAULT; + presCondArgsIDESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS_ID, + oldPresCondArgsID, PRES_COND_ARGS_ID_EDEFAULT, oldPresCondArgsIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetPresCondArgsID() { + return presCondArgsIDESet; } /** @@ -589,8 +770,36 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setSizeAttribute( String newSizeAttribute ) { String oldSizeAttribute = sizeAttribute; sizeAttribute = newSizeAttribute; + boolean oldSizeAttributeESet = sizeAttributeESet; + sizeAttributeESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_OBJECT__SIZE_ATTRIBUTE, oldSizeAttribute, sizeAttribute ) ); + NsdPackage.SUB_DATA_OBJECT__SIZE_ATTRIBUTE, oldSizeAttribute, sizeAttribute, !oldSizeAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetSizeAttribute() { + String oldSizeAttribute = sizeAttribute; + boolean oldSizeAttributeESet = sizeAttributeESet; + sizeAttribute = SIZE_ATTRIBUTE_EDEFAULT; + sizeAttributeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_OBJECT__SIZE_ATTRIBUTE, + oldSizeAttribute, SIZE_ATTRIBUTE_EDEFAULT, oldSizeAttributeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetSizeAttribute() { + return sizeAttributeESet; } /** @@ -612,8 +821,35 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setType( String newType ) { String oldType = type; type = newType; - if( eNotificationRequired() ) - eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__TYPE, oldType, type ) ); + boolean oldTypeESet = typeESet; + typeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__TYPE, oldType, type, !oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetType() { + String oldType = type; + boolean oldTypeESet = typeESet; + type = TYPE_EDEFAULT; + typeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__TYPE, oldType, TYPE_EDEFAULT, oldTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetType() { + return typeESet; } /** @@ -635,8 +871,37 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj public void setUnderlyingType( String newUnderlyingType ) { String oldUnderlyingType = underlyingType; underlyingType = newUnderlyingType; - if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE, oldUnderlyingType, underlyingType ) ); + boolean oldUnderlyingTypeESet = underlyingTypeESet; + underlyingTypeESet = true; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE, + oldUnderlyingType, underlyingType, !oldUnderlyingTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetUnderlyingType() { + String oldUnderlyingType = underlyingType; + boolean oldUnderlyingTypeESet = underlyingTypeESet; + underlyingType = UNDERLYING_TYPE_EDEFAULT; + underlyingTypeESet = false; + if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.UNSET, NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE, + oldUnderlyingType, UNDERLYING_TYPE_EDEFAULT, oldUnderlyingTypeESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetUnderlyingType() { + return underlyingTypeESet; } /** @@ -691,6 +956,92 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj return underlyingTypeKindESet; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CDC getCDC() { + if( eContainerFeatureID() != NsdPackage.SUB_DATA_OBJECT__CDC ) return null; + return ( CDC ) eInternalContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetCDC( CDC newCDC, NotificationChain msgs ) { + msgs = eBasicSetContainer( ( InternalEObject ) newCDC, NsdPackage.SUB_DATA_OBJECT__CDC, msgs ); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCDC( CDC newCDC ) { + if( newCDC != eInternalContainer() + || ( eContainerFeatureID() != NsdPackage.SUB_DATA_OBJECT__CDC && newCDC != null ) ) { + if( EcoreUtil.isAncestor( this, newCDC ) ) + throw new IllegalArgumentException( "Recursive containment not allowed for " + toString() ); + NotificationChain msgs = null; + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + if( newCDC != null ) msgs = ( ( InternalEObject ) newCDC ).eInverseAdd( this, + NsdPackage.CDC__SUB_DATA_OBJECT, CDC.class, msgs ); + msgs = basicSetCDC( newCDC, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else if( eNotificationRequired() ) + eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__CDC, newCDC, newCDC ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { + switch( featureID ) { + case NsdPackage.SUB_DATA_OBJECT__CDC: + if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); + return basicSetCDC( ( CDC ) 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 NsdPackage.SUB_DATA_OBJECT__CDC: + return basicSetCDC( null, msgs ); + } + return super.eInverseRemove( otherEnd, featureID, msgs ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature( NotificationChain msgs ) { + switch( eContainerFeatureID() ) { + case NsdPackage.SUB_DATA_OBJECT__CDC: + return eInternalContainer().eInverseRemove( this, NsdPackage.CDC__SUB_DATA_OBJECT, CDC.class, msgs ); + } + return super.eBasicRemoveFromContainerFeature( msgs ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -721,6 +1072,8 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj return getUnderlyingType(); case NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND: return getUnderlyingTypeKind(); + case NsdPackage.SUB_DATA_OBJECT__CDC: + return getCDC(); } return super.eGet( featureID, resolve, coreType ); } @@ -766,6 +1119,9 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj case NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND: setUnderlyingTypeKind( ( DefinedAttributeTypeKind ) newValue ); return; + case NsdPackage.SUB_DATA_OBJECT__CDC: + setCDC( ( CDC ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -782,35 +1138,38 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj unsetIsArray(); return; case NsdPackage.SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE: - setMaxIndexAttribute( MAX_INDEX_ATTRIBUTE_EDEFAULT ); + unsetMaxIndexAttribute(); return; case NsdPackage.SUB_DATA_OBJECT__MIN_INDEX: unsetMinIndex(); return; case NsdPackage.SUB_DATA_OBJECT__NAME: - setName( NAME_EDEFAULT ); + unsetName(); return; case NsdPackage.SUB_DATA_OBJECT__PRES_COND: unsetPresCond(); return; case NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS: - setPresCondArgs( PRES_COND_ARGS_EDEFAULT ); + unsetPresCondArgs(); return; case NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS_ID: - setPresCondArgsID( PRES_COND_ARGS_ID_EDEFAULT ); + unsetPresCondArgsID(); return; case NsdPackage.SUB_DATA_OBJECT__SIZE_ATTRIBUTE: - setSizeAttribute( SIZE_ATTRIBUTE_EDEFAULT ); + unsetSizeAttribute(); return; case NsdPackage.SUB_DATA_OBJECT__TYPE: - setType( TYPE_EDEFAULT ); + unsetType(); return; case NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE: - setUnderlyingType( UNDERLYING_TYPE_EDEFAULT ); + unsetUnderlyingType(); return; case NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND: unsetUnderlyingTypeKind(); return; + case NsdPackage.SUB_DATA_OBJECT__CDC: + setCDC( ( CDC ) null ); + return; } super.eUnset( featureID ); } @@ -826,30 +1185,27 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj case NsdPackage.SUB_DATA_OBJECT__IS_ARRAY: return isSetIsArray(); case NsdPackage.SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE: - return MAX_INDEX_ATTRIBUTE_EDEFAULT == null ? maxIndexAttribute != null - : !MAX_INDEX_ATTRIBUTE_EDEFAULT.equals( maxIndexAttribute ); + return isSetMaxIndexAttribute(); case NsdPackage.SUB_DATA_OBJECT__MIN_INDEX: return isSetMinIndex(); case NsdPackage.SUB_DATA_OBJECT__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals( name ); + return isSetName(); case NsdPackage.SUB_DATA_OBJECT__PRES_COND: return isSetPresCond(); case NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS: - return PRES_COND_ARGS_EDEFAULT == null ? presCondArgs != null - : !PRES_COND_ARGS_EDEFAULT.equals( presCondArgs ); + return isSetPresCondArgs(); case NsdPackage.SUB_DATA_OBJECT__PRES_COND_ARGS_ID: - return PRES_COND_ARGS_ID_EDEFAULT == null ? presCondArgsID != null - : !PRES_COND_ARGS_ID_EDEFAULT.equals( presCondArgsID ); + return isSetPresCondArgsID(); case NsdPackage.SUB_DATA_OBJECT__SIZE_ATTRIBUTE: - return SIZE_ATTRIBUTE_EDEFAULT == null ? sizeAttribute != null - : !SIZE_ATTRIBUTE_EDEFAULT.equals( sizeAttribute ); + return isSetSizeAttribute(); case NsdPackage.SUB_DATA_OBJECT__TYPE: - return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals( type ); + return isSetType(); case NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE: - return UNDERLYING_TYPE_EDEFAULT == null ? underlyingType != null - : !UNDERLYING_TYPE_EDEFAULT.equals( underlyingType ); + return isSetUnderlyingType(); case NsdPackage.SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND: return isSetUnderlyingTypeKind(); + case NsdPackage.SUB_DATA_OBJECT__CDC: + return getCDC() != null; } return super.eIsSet( featureID ); } @@ -870,29 +1226,50 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj else result.append( "<unset>" ); result.append( ", maxIndexAttribute: " ); - result.append( maxIndexAttribute ); + if( maxIndexAttributeESet ) + result.append( maxIndexAttribute ); + else + result.append( "<unset>" ); result.append( ", minIndex: " ); if( minIndexESet ) result.append( minIndex ); else result.append( "<unset>" ); result.append( ", name: " ); - result.append( name ); + if( nameESet ) + result.append( name ); + else + result.append( "<unset>" ); result.append( ", presCond: " ); if( presCondESet ) result.append( presCond ); else result.append( "<unset>" ); result.append( ", presCondArgs: " ); - result.append( presCondArgs ); + if( presCondArgsESet ) + result.append( presCondArgs ); + else + result.append( "<unset>" ); result.append( ", presCondArgsID: " ); - result.append( presCondArgsID ); + if( presCondArgsIDESet ) + result.append( presCondArgsID ); + else + result.append( "<unset>" ); result.append( ", sizeAttribute: " ); - result.append( sizeAttribute ); + if( sizeAttributeESet ) + result.append( sizeAttribute ); + else + result.append( "<unset>" ); result.append( ", type: " ); - result.append( type ); + if( typeESet ) + result.append( type ); + else + result.append( "<unset>" ); result.append( ", underlyingType: " ); - result.append( underlyingType ); + if( underlyingTypeESet ) + result.append( underlyingType ); + else + result.append( "<unset>" ); result.append( ", underlyingTypeKind: " ); if( underlyingTypeKindESet ) result.append( underlyingTypeKind ); diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/TitledClassImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/TitledClassImpl.java index af44452..122510d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/TitledClassImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/TitledClassImpl.java @@ -62,6 +62,15 @@ public class TitledClassImpl extends DocumentedClassImpl implements TitledClass */ protected String titleID = TITLE_ID_EDEFAULT; + /** + * This is true if the Title ID attribute has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean titleIDESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -100,8 +109,35 @@ public class TitledClassImpl extends DocumentedClassImpl implements TitledClass public void setTitleID( String newTitleID ) { String oldTitleID = titleID; titleID = newTitleID; + boolean oldTitleIDESet = titleIDESet; + titleIDESet = true; if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, - NsdPackage.TITLED_CLASS__TITLE_ID, oldTitleID, titleID ) ); + NsdPackage.TITLED_CLASS__TITLE_ID, oldTitleID, titleID, !oldTitleIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetTitleID() { + String oldTitleID = titleID; + boolean oldTitleIDESet = titleIDESet; + titleID = TITLE_ID_EDEFAULT; + titleIDESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.TITLED_CLASS__TITLE_ID, oldTitleID, TITLE_ID_EDEFAULT, oldTitleIDESet ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetTitleID() { + return titleIDESet; } /** @@ -142,7 +178,7 @@ public class TitledClassImpl extends DocumentedClassImpl implements TitledClass public void eUnset( int featureID ) { switch( featureID ) { case NsdPackage.TITLED_CLASS__TITLE_ID: - setTitleID( TITLE_ID_EDEFAULT ); + unsetTitleID(); return; } super.eUnset( featureID ); @@ -157,7 +193,7 @@ public class TitledClassImpl extends DocumentedClassImpl implements TitledClass public boolean eIsSet( int featureID ) { switch( featureID ) { case NsdPackage.TITLED_CLASS__TITLE_ID: - return TITLE_ID_EDEFAULT == null ? titleID != null : !TITLE_ID_EDEFAULT.equals( titleID ); + return isSetTitleID(); } return super.eIsSet( featureID ); } @@ -173,7 +209,10 @@ public class TitledClassImpl extends DocumentedClassImpl implements TitledClass StringBuilder result = new StringBuilder( super.toString() ); result.append( " (titleID: " ); - result.append( titleID ); + if( titleIDESet ) + result.append( titleID ); + else + result.append( "<unset>" ); result.append( ')' ); return result.toString(); } diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java index 5ab5368..6a3eec5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdAdapterFactory.java @@ -89,8 +89,8 @@ public class NsdAdapterFactory extends AdapterFactoryImpl { } @Override - public Adapter caseDependsOnType( DependsOnType object ) { - return createDependsOnTypeAdapter(); + public Adapter caseDependsOn( DependsOn object ) { + return createDependsOnAdapter(); } @Override @@ -308,11 +308,6 @@ public class NsdAdapterFactory extends AdapterFactoryImpl { return createServiceParameterAdapter(); } - @Override - public Adapter caseServiceTypeRealization( ServiceTypeRealization object ) { - return createServiceTypeRealizationAdapter(); - } - @Override public Adapter caseServiceTypeRealizations( ServiceTypeRealizations object ) { return createServiceTypeRealizationsAdapter(); @@ -372,16 +367,16 @@ public class NsdAdapterFactory extends AdapterFactoryImpl { } /** - * Creates a new adapter for an object of class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType <em>Depends On Type</em>}'. + * Creates a new adapter for an object of class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn <em>Depends On</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 fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOnType + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn * @generated */ - public Adapter createDependsOnTypeAdapter() { + public Adapter createDependsOnAdapter() { return null; } @@ -987,20 +982,6 @@ public class NsdAdapterFactory extends AdapterFactoryImpl { return null; } - /** - * Creates a new adapter for an object of class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization <em>Service Type Realization</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 fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealization - * @generated - */ - public Adapter createServiceTypeRealizationAdapter() { - return null; - } - /** * Creates a new adapter for an object of class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations <em>Service Type Realizations</em>}'. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java new file mode 100644 index 0000000..a577890 --- /dev/null +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdResourceSetImpl.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2019 CentraleSupélec & EDF. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * This file is part of the RiseClipse tool + * + * Contributors: + * Computer Science Department, CentraleSupélec + * EDF R&D + * Contacts: + * dominique.marcadet@centralesupelec.fr + * aurelie.dehouck-neveu@edf.fr + * Web site: + * http://wdi.supelec.fr/software/RiseClipse/ + * + */ +package fr.centralesupelec.edf.riseclipse.iec61850.nsd.util; + +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; + +public class NsdResourceSetImpl extends ResourceSetImpl { + + public NsdResourceSetImpl() { + super(); + } + + /* + * Constraints + * NSDoc: + * Name: uniqueDocID Selector: nsd:Doc Field: @id + * Within an NSDoc element, there shall not be two Doc sub-elements with same id. + * CDCs/CDC: + * Name: uniqueCDCChild Selector: * Field: @name + * For a CDC, there shall not be two sub-elements (SubDataObject or DataAttribute) with same name. + * ConstructedAttributes/ConstructedAttribute: + * Name: uniqueSubDataAttribute Selector: nsd:SubDataAttribute Field: @name + * For a ConstructedAttribute, there shall not be two SubDataAttribute sub-elements with same name. + * Enumerations/Enumeration: + * Name: uniqueLiteralName Selector: nsd:Literal Field: @name + * For an Enumeration, there shall not be two Literal sub-elements with same name. + * Enumerations/Enumeration: + * Name: uniqueLiteralVal Selector: nsd:Literal Field: @literalVal + * For an Enumeration, there shall not be two Literal sub-elements with same liiteralVal. + * FunctionalConstraint/ApplicableServices: + * Name: uniqueDataSetMemberOf Selector: nsd:DataSetMemberOf Field: @cb + * FunctionalConstraint/ApplicableServices: + * Name: uniqueService Selector: nsd:Service Field: @name + * LNClasses/AbstractLNClass: + * Name: uniqueDataObjectAbstractLNClass Selector: nsd:DataObject Field: @name + * For a AbstractLNClass, there shall not be two DataObject sub-elements with same name. + * LNClasses/LNClass: + * Name: uniqueDataObject Selector: nsd:DataObject Field: @name + * For a LNClass, there shall not be two DataObject sub-elements with same name. + * NS/FunctionalConstraints: + * Name: uniqueFunctionalConstraint Selector: nsd:FunctionalConstraint Field: @abbreviation + * There shall not be two FunctionalConstraint elements with same abbreviation. + * NS/PresenceConditions: + * Name: uniquePresenceCondition Selector: nsd:PresenceCondition Field: @name + * There shall not be two PresenceCondition elements with same name. + * NS/Abbreviations: + * Name: uniqueAbbreviation Selector: nsd:Abbreviation Field: @name + * There shall not be two Abbreviations elements with same name. + * NS/Enumerations: + * Name: uniqueEnumeration Selector: nsd:Enumeration Field: @name + * Within an NS, there shall not be two Enumeration sub-elements with same name. + * NS/ConstructedAttributes + * Name: uniqueConstructedAttribute Selector: nsd:ConstructedAttribute Field: @name + * Within an NS, there shall not be two ConstructedAttribute sub-elements with same name. + * NS/CDCs: + * Name: uniqueCDC Selector: nsd:CDC Field: @name @variant + * Within an NS, there shall not be two CDC sub-elements with same name and (if defined) variant. + * NS/LNClasses: + * Name: uniqueAbstractLNClass Selector: nsd:AbstractLNClass Field: @name + * Within an NS, there shall not be two AbstractLNClass sub-elements with same name. + * Name: uniqueLNClass Selector: nsd:LNClass Field: @name + * Within an NS, there shall not be two LNClass sub-elements with same name. + * ServiceCDCs/ServiceCDC: + * Name: uniqueServiceCDCChild Selector: nsd:ServiceDataAttribute Field: @name + * For a CDC, there shall not be two ServiceDataAttribute sub-elements with same name. + * ServiceConstructedAttributes/ServiceConstructedAttribute: + * Name: uniqueSubDataAttribute_Service Selector: nsd:SubDataAttribute Field: @name + * For a ConstructedAttribute, there shall not be two SubDataAttribute sub-elements with same name. + * ServiceNS/FunctionalConstraints: + * Name: uniqueFunctionalConstraint_Service Selector: nsd:FunctionalConstraint Field: @abbreviation + * There shall not be two FunctionalConstraint elements with same abbreviation. + * ServiceNS/PresenceConditions: + * Name: uniquePresenceCondition_Service Selector: nsd:PresenceCondition Field: @name + * There shall not be two PresenceCondition elements with same name. + * ServiceNS/Abbreviations: + * Name: uniqueAbbreviation_Service Selector: nsd:Abbreviation Field: @name + * There shall not be two Abbreviations elements with same name. + * ServiceNS/ServiceConstructedAttributes: + * Name: uniqueServiceConstructedAttribute Selector: nsd:ServiceConstructedAttribute Field: @name + * Within an ServiceNS, there shall not be two ServiceConstructedAttribute sub-elements with same name. + * ServiceNS/ServiceCDCs: + * Name: uniqueServiceCDC Selector: nsd:ServiceCDC Field: @cdc @variant + * Within an ServiceNS, there shall not be two ServiceCDC sub-elements with same name and (if defined) variant. + * + * + * The following links are implicit: + * DependsOn.id -> NS.id + * AnyLNClass.base -> AbstractLNClass + * DataObject.type -> CDC.name + * DataObject.presCond -> PresenceCondition.name + * DataObject.dsPresCond -> PresenceCondition.name + * SubDataObject.type -> CDC.name + * SubDataObject.presCond -> PresenceCondition.name + * SubDataObject.sizeAttribute -> DataAttribute.name + * SubDataObject.maxIndexAttribute -> DataAttribute.name + * DataAttribute.fc -> FunctionalConstraint.abbreviation + * DataAttribute.presCond -> PresenceCondition.name + * DataAttribute.sizeAttribute -> DataAttribute.name + * DataAttribute.maxIndexAttribute -> DataAttribute.name + * ServiceParameter.name -> DataAttribute.name (?) + * SubDataAttribute.presCond -> PresenceCondition.name + * SubDataAttribute.sizeAttribute -> DataAttribute.name + * SubDataAttribute.maxIndexAttribute -> DataAttribute.name + * Enumeration.inheritedFrom -> Enumeration.name + * ServiceCDC.cdc -> CDC.name (?) + * ServiceDataAttribute.fc -> FunctionalConstraint.abbreviation + * ServiceDataAttribute.presCond -> PresenceCondition.name + * AppliesTo.id -> NS.id + * ServiceTypeRealization.fc -> FunctionalConstraint.abbreviation + * ServiceTypeRealization.presCond -> PresenceCondition.name + */ + public void createExplicitLinks() { + //for( resource : get) + + } + +} diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java index 1d6b61d..a45ed77 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdSwitch.java @@ -90,10 +90,10 @@ public class NsdSwitch< T > extends Switch< T > { if( result == null ) result = defaultCase( theEObject ); return result; } - case NsdPackage.DEPENDS_ON_TYPE: { - DependsOnType dependsOnType = ( DependsOnType ) theEObject; - T result = caseDependsOnType( dependsOnType ); - if( result == null ) result = caseNSDObjectWithVersionAndRelease( dependsOnType ); + case NsdPackage.DEPENDS_ON: { + DependsOn dependsOn = ( DependsOn ) theEObject; + T result = caseDependsOn( dependsOn ); + if( result == null ) result = caseNSDObjectWithVersionAndRelease( dependsOn ); if( result == null ) result = defaultCase( theEObject ); return result; } @@ -386,12 +386,6 @@ public class NsdSwitch< T > extends Switch< T > { if( result == null ) result = defaultCase( theEObject ); return result; } - case NsdPackage.SERVICE_TYPE_REALIZATION: { - ServiceTypeRealization serviceTypeRealization = ( ServiceTypeRealization ) theEObject; - T result = caseServiceTypeRealization( serviceTypeRealization ); - if( result == null ) result = defaultCase( theEObject ); - return result; - } case NsdPackage.SERVICE_TYPE_REALIZATIONS: { ServiceTypeRealizations serviceTypeRealizations = ( ServiceTypeRealizations ) theEObject; T result = caseServiceTypeRealizations( serviceTypeRealizations ); @@ -446,17 +440,17 @@ public class NsdSwitch< T > extends Switch< T > { } /** - * Returns the result of interpreting the object as an instance of '<em>Depends On Type</em>'. + * Returns the result of interpreting the object as an instance of '<em>Depends On</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>Depends On Type</em>'. + * @return the result of interpreting the object as an instance of '<em>Depends On</em>'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseDependsOnType( DependsOnType object ) { + public T caseDependsOn( DependsOn object ) { return null; } @@ -1105,21 +1099,6 @@ public class NsdSwitch< T > extends Switch< T > { return null; } - /** - * Returns the result of interpreting the object as an instance of '<em>Service Type Realization</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>Service Type Realization</em>'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseServiceTypeRealization( ServiceTypeRealization object ) { - return null; - } - /** * Returns the result of interpreting the object as an instance of '<em>Service Type Realizations</em>'. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java index e3d00b4..0c90dc5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/util/NsdValidator.java @@ -108,8 +108,8 @@ public class NsdValidator extends EObjectValidator { switch( classifierID ) { case NsdPackage.APPLIES_TO_TYPE: return validateAppliesToType( ( AppliesToType ) value, diagnostics, context ); - case NsdPackage.DEPENDS_ON_TYPE: - return validateDependsOnType( ( DependsOnType ) value, diagnostics, context ); + case NsdPackage.DEPENDS_ON: + return validateDependsOn( ( DependsOn ) value, diagnostics, context ); case NsdPackage.DOCUMENT_ROOT: return validateDocumentRoot( ( DocumentRoot ) value, diagnostics, context ); case NsdPackage.SERVICE_TYPE: @@ -196,8 +196,6 @@ public class NsdValidator extends EObjectValidator { return validateServiceNsUsage( ( ServiceNsUsage ) value, diagnostics, context ); case NsdPackage.SERVICE_PARAMETER: return validateServiceParameter( ( ServiceParameter ) value, diagnostics, context ); - case NsdPackage.SERVICE_TYPE_REALIZATION: - return validateServiceTypeRealization( ( ServiceTypeRealization ) value, diagnostics, context ); case NsdPackage.SERVICE_TYPE_REALIZATIONS: return validateServiceTypeRealizations( ( ServiceTypeRealizations ) value, diagnostics, context ); case NsdPackage.SUB_DATA_ATTRIBUTE: @@ -256,9 +254,9 @@ public class NsdValidator extends EObjectValidator { * <!-- end-user-doc --> * @generated */ - public boolean validateDependsOnType( DependsOnType dependsOnType, DiagnosticChain diagnostics, + public boolean validateDependsOn( DependsOn dependsOn, DiagnosticChain diagnostics, Map< Object, Object > context ) { - return validate_EveryDefaultConstraint( dependsOnType, diagnostics, context ); + return validate_EveryDefaultConstraint( dependsOn, diagnostics, context ); } /** @@ -681,16 +679,6 @@ public class NsdValidator extends EObjectValidator { return validate_EveryDefaultConstraint( serviceParameter, diagnostics, context ); } - /** - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - public boolean validateServiceTypeRealization( ServiceTypeRealization serviceTypeRealization, - DiagnosticChain diagnostics, Map< Object, Object > context ) { - return validate_EveryDefaultConstraint( serviceTypeRealization, diagnostics, context ); - } - /** * <!-- begin-user-doc --> * <!-- end-user-doc --> -- GitLab