diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties index 11e48f59450de61ddf986804b33188e15e9e50f7..9b7ca8619b305153a799dece53bc117a1d1735ad 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties @@ -483,3 +483,18 @@ _UI_DependsOn_refersToNS_feature = Refers To NS _UI_NS_referredByDependsOn_feature = Referred By Depends On _UI_AbstractLNClass_referredByAnyLNClass_feature = Referred By Any LN Class _UI_AnyLNClass_refersToAbstractLNClass_feature = Refers To Abstract LN Class +_UI_CDC_referredByDataObject_feature = Referred By Data Object +_UI_DataObject_refersToCDC_feature = Refers To CDC +_UI_DataObject_refersToPresenceCondition_feature = Refers To Presence Condition +_UI_DataObject_refersToPresenceConditionDerivedStatistics_feature = Refers To Presence Condition Derived Statistics +_UI_PresenceCondition_referredByDataObject_feature = Referred By Data Object +_UI_PresenceCondition_referredByDataObjectForDerivedStatistics_feature = Referred By Data Object For Derived Statistics +_UI_NsdObject_explicitLinksBuilt_feature = Explicit Links Built +_UI_CDC_referredBySubDataObject_feature = Referred By Sub Data Object +_UI_DataAttribute_referredBySubDataObjectAsSizeAttribute_feature = Referred By Sub Data Object As Size Attribute +_UI_DataAttribute_referredBySubDataObjectAsMaxIndexAttribute_feature = Referred By Sub Data Object As Max Index Attribute +_UI_PresenceCondition_referredBySubDataObject_feature = Referred By Sub Data Object +_UI_SubDataObject_refersToCDC_feature = Refers To CDC +_UI_SubDataObject_refersToPresenceCondition_feature = Refers To Presence Condition +_UI_SubDataObject_refersToSizeAttribute_feature = Refers To Size Attribute +_UI_SubDataObject_refersToMaxIndexAttribute_feature = Refers To Max Index Attribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/CDCItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/CDCItemProvider.java index 07425a24cd4c36984ad0932c8badec8f359e89ec..37f9ea2dc4a663876c21f466ecced20a77438a0d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/CDCItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/CDCItemProvider.java @@ -69,6 +69,8 @@ public class CDCItemProvider extends TitledClassItemProvider { addStatisticsPropertyDescriptor( object ); addTypeKindParameterizedPropertyDescriptor( object ); addVariantPropertyDescriptor( object ); + addReferredByDataObjectPropertyDescriptor( object ); + addReferredBySubDataObjectPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -150,6 +152,36 @@ public class CDCItemProvider extends TitledClassItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Referred By Data Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataObjectPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_CDC_referredByDataObject_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_CDC_referredByDataObject_feature", + "_UI_CDC_type" ), + NsdPackage.Literals.CDC__REFERRED_BY_DATA_OBJECT, true, false, true, null, null, null ) ); + } + + /** + * This adds a property descriptor for the Referred By Sub Data Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredBySubDataObjectPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_CDC_referredBySubDataObject_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_CDC_referredBySubDataObject_feature", + "_UI_CDC_type" ), + NsdPackage.Literals.CDC__REFERRED_BY_SUB_DATA_OBJECT, true, false, true, null, null, null ) ); + } + /** * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java index b8e70bf97cd3ea7ad6e2e362a96f860b70d7aae7..f1cf3c8c1e9d5cab2596fe69b19e33441919128d 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataAttributeItemProvider.java @@ -78,6 +78,8 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider { addMinValuePropertyDescriptor( object ); addFcPropertyDescriptor( object ); addNamePropertyDescriptor( object ); + addReferredBySubDataObjectAsSizeAttributePropertyDescriptor( object ); + addReferredBySubDataObjectAsMaxIndexAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -242,6 +244,39 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Referred By Sub Data Object As Size Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredBySubDataObjectAsSizeAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_DataAttribute_referredBySubDataObjectAsSizeAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_referredBySubDataObjectAsSizeAttribute_feature", "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE, true, false, true, + null, null, null ) ); + } + + /** + * This adds a property descriptor for the Referred By Sub Data Object As Max Index Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredBySubDataObjectAsMaxIndexAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_DataAttribute_referredBySubDataObjectAsMaxIndexAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_referredBySubDataObjectAsMaxIndexAttribute_feature", + "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE, true, false, + true, null, null, null ) ); + } + /** * This adds a property descriptor for the Pres Cond feature. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataObjectItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataObjectItemProvider.java index 817816b54a8b019f24d99e4b384d6eec05165c28..bdb52ecace53bb24c8c49aa1187d3adb3ef55ed5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataObjectItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/DataObjectItemProvider.java @@ -72,6 +72,9 @@ public class DataObjectItemProvider extends DocumentedClassItemProvider { addNamePropertyDescriptor( object ); addTransientPropertyDescriptor( object ); addTypePropertyDescriptor( object ); + addRefersToCDCPropertyDescriptor( object ); + addRefersToPresenceConditionPropertyDescriptor( object ); + addRefersToPresenceConditionDerivedStatisticsPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -223,6 +226,52 @@ public class DataObjectItemProvider extends DocumentedClassItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Refers To CDC feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToCDCPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_DataObject_refersToCDC_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DataObject_refersToCDC_feature", + "_UI_DataObject_type" ), + NsdPackage.Literals.DATA_OBJECT__REFERS_TO_CDC, true, false, true, null, null, null ) ); + } + + /** + * This adds a property descriptor for the Refers To Presence Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToPresenceConditionPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_DataObject_refersToPresenceCondition_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DataObject_refersToPresenceCondition_feature", + "_UI_DataObject_type" ), + NsdPackage.Literals.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, true, false, true, null, null, null ) ); + } + + /** + * This adds a property descriptor for the Refers To Presence Condition Derived Statistics feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToPresenceConditionDerivedStatisticsPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_DataObject_refersToPresenceConditionDerivedStatistics_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataObject_refersToPresenceConditionDerivedStatistics_feature", "_UI_DataObject_type" ), + NsdPackage.Literals.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS, true, false, true, + null, null, null ) ); + } + /** * This adds a property descriptor for the Underlying Type feature. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdObjectItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdObjectItemProvider.java index 52b7b5a4c370ba238f7a286873f7643e96021e40..e593440a07ca32ff4ec059f6406a11703145774f 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdObjectItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/NsdObjectItemProvider.java @@ -70,6 +70,7 @@ public class NsdObjectItemProvider extends ItemProviderAdapter implements IEditi super.getPropertyDescriptors( object ); addLineNumberPropertyDescriptor( object ); + addExplicitLinksBuiltPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -90,6 +91,22 @@ public class NsdObjectItemProvider extends ItemProviderAdapter implements IEditi ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Explicit Links Built feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addExplicitLinksBuiltPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_NsdObject_explicitLinksBuilt_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_NsdObject_explicitLinksBuilt_feature", + "_UI_NsdObject_type" ), + NsdPackage.Literals.NSD_OBJECT__EXPLICIT_LINKS_BUILT, true, false, false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, null, null ) ); + } + /** * This returns the label text for the adapted class. * <!-- begin-user-doc --> @@ -115,6 +132,7 @@ public class NsdObjectItemProvider extends ItemProviderAdapter implements IEditi switch( notification.getFeatureID( NsdObject.class ) ) { case NsdPackage.NSD_OBJECT__LINE_NUMBER: + case NsdPackage.NSD_OBJECT__EXPLICIT_LINKS_BUILT: 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/PresenceConditionItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/PresenceConditionItemProvider.java index 2aec88bb7f2534cecc62e1dcc5bbfb02f54b767b..83eaa5803c8499df86b68fd4751fb774237f137a 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/PresenceConditionItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/PresenceConditionItemProvider.java @@ -64,6 +64,9 @@ public class PresenceConditionItemProvider extends NsdObjectItemProvider { addDescIDPropertyDescriptor( object ); addNamePropertyDescriptor( object ); addTitleIDPropertyDescriptor( object ); + addReferredByDataObjectPropertyDescriptor( object ); + addReferredByDataObjectForDerivedStatisticsPropertyDescriptor( object ); + addReferredBySubDataObjectPropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -132,6 +135,55 @@ public class PresenceConditionItemProvider extends NsdObjectItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Referred By Data Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataObjectPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_PresenceCondition_referredByDataObject_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_PresenceCondition_referredByDataObject_feature", + "_UI_PresenceCondition_type" ), + NsdPackage.Literals.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT, true, false, true, null, null, + null ) ); + } + + /** + * This adds a property descriptor for the Referred By Data Object For Derived Statistics feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataObjectForDerivedStatisticsPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_PresenceCondition_referredByDataObjectForDerivedStatistics_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_PresenceCondition_referredByDataObjectForDerivedStatistics_feature", + "_UI_PresenceCondition_type" ), + NsdPackage.Literals.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS, true, false, + true, null, null, null ) ); + } + + /** + * This adds a property descriptor for the Referred By Sub Data Object feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredBySubDataObjectPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_PresenceCondition_referredBySubDataObject_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_PresenceCondition_referredBySubDataObject_feature", "_UI_PresenceCondition_type" ), + NsdPackage.Literals.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT, true, false, true, null, + null, null ) ); + } + /** * This returns PresenceCondition.gif. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/SubDataObjectItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/SubDataObjectItemProvider.java index 603927d7839fb31f2a3491703735b97d36d0cdf5..adaab35a428fc652c82c6a2210e4333247dd4cd0 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/SubDataObjectItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/SubDataObjectItemProvider.java @@ -72,6 +72,10 @@ public class SubDataObjectItemProvider extends DocumentedClassItemProvider { addUnderlyingTypeKindPropertyDescriptor( object ); addNamePropertyDescriptor( object ); addTypePropertyDescriptor( object ); + addRefersToCDCPropertyDescriptor( object ); + addRefersToPresenceConditionPropertyDescriptor( object ); + addRefersToSizeAttributePropertyDescriptor( object ); + addRefersToMaxIndexAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -220,6 +224,68 @@ public class SubDataObjectItemProvider extends DocumentedClassItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Refers To CDC feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToCDCPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_SubDataObject_refersToCDC_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_SubDataObject_refersToCDC_feature", + "_UI_SubDataObject_type" ), + NsdPackage.Literals.SUB_DATA_OBJECT__REFERS_TO_CDC, true, false, true, null, null, null ) ); + } + + /** + * This adds a property descriptor for the Refers To Presence Condition feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToPresenceConditionPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_SubDataObject_refersToPresenceCondition_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_SubDataObject_refersToPresenceCondition_feature", + "_UI_SubDataObject_type" ), + NsdPackage.Literals.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, true, false, true, null, null, + null ) ); + } + + /** + * This adds a property descriptor for the Refers To Size Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToSizeAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_SubDataObject_refersToSizeAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_SubDataObject_refersToSizeAttribute_feature", + "_UI_SubDataObject_type" ), + NsdPackage.Literals.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE, true, false, true, null, null, null ) ); + } + + /** + * This adds a property descriptor for the Refers To Max Index Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToMaxIndexAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_SubDataObject_refersToMaxIndexAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_SubDataObject_refersToMaxIndexAttribute_feature", + "_UI_SubDataObject_type" ), + NsdPackage.Literals.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE, true, false, true, null, null, + null ) ); + } + /** * This adds a property descriptor for the Underlying Type feature. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore index c5adcb8b9203261dd281d2b7b82eb934dcd45337..8709e24d592f6e377c45661aa4b108c9f7ce0695 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore @@ -236,6 +236,7 @@ <details key="kind" value="elementOnly"/> </eAnnotations> <eOperations name="getName" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String"/> + <eOperations name="getLNClasses" eType="#//LNClasses"/> <eStructuralFeatures xsi:type="ecore:EReference" name="dataObject" ordered="false" upperBound="-1" eType="#//DataObject" unsettable="true" containment="true" resolveProxies="false" eOpposite="#//DataObject/anyLNClass"> @@ -443,6 +444,12 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="cDCs" ordered="false" eType="#//CDCs" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDCs/cDC"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataObject" ordered="false" + upperBound="-1" eType="#//DataObject" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//DataObject/refersToCDC"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObject" + ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToCDC"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="CDCs" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -622,6 +629,12 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/dataAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObjectAsSizeAttribute" + ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToSizeAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObjectAsMaxIndexAttribute" + ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToMaxIndexAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgPresenceConditionDerivedStatistics #//AgUnderlyingType"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -652,6 +665,14 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="anyLNClass" ordered="false" eType="#//AnyLNClass" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//AnyLNClass/dataObject"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToCDC" ordered="false" + eType="#//CDC" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/referredByDataObject"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition" + ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//PresenceCondition/referredByDataObject"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceConditionDerivedStatistics" + ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//PresenceCondition/referredByDataObjectForDerivedStatistics"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataSetMemberOf" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1018,6 +1039,14 @@ <details key="name" value="tNS"/> <details key="kind" value="elementOnly"/> </eAnnotations> + <eOperations name="findCDC" eType="#//CDC"> + <eParameters name="cDCName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eParameters name="console" eType="#//IRiseClipseConsole"/> + </eOperations> + <eOperations name="findPresenceCondition" eType="#//PresenceCondition"> + <eParameters name="presenceConditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eParameters name="console" eType="#//IRiseClipseConsole"/> + </eOperations> <eStructuralFeatures xsi:type="ecore:EReference" name="changes" ordered="false" eType="#//Changes" unsettable="true" containment="true" resolveProxies="false" eOpposite="#//Changes/nS"> @@ -1169,6 +1198,15 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="presenceConditions" ordered="false" eType="#//PresenceConditions" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//PresenceConditions/presenceCondition"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataObject" ordered="false" + upperBound="-1" eType="#//DataObject" transient="true" unsettable="true" resolveProxies="false" + eOpposite="#//DataObject/refersToPresenceCondition"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataObjectForDerivedStatistics" + ordered="false" upperBound="-1" eType="#//DataObject" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//DataObject/refersToPresenceConditionDerivedStatistics"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObject" + ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToPresenceCondition"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PresenceConditions" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1510,6 +1548,17 @@ </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="cDC" ordered="false" eType="#//CDC" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/subDataObject"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToCDC" ordered="false" + eType="#//CDC" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//CDC/referredBySubDataObject"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition" + ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//PresenceCondition/referredBySubDataObject"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToSizeAttribute" + ordered="false" eType="#//DataAttribute" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//DataAttribute/referredBySubDataObjectAsSizeAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToMaxIndexAttribute" + ordered="false" eType="#//DataAttribute" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//DataAttribute/referredBySubDataObjectAsMaxIndexAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="TitledClass" eSuperTypes="#//DocumentedClass"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1542,12 +1591,15 @@ </eAnnotations> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="NsdObject" abstract="true"> - <eOperations name="buildExplicitLinks"> + <eOperations name="buildExplicitLinks" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> <eParameters name="console" eType="#//IRiseClipseConsole"/> </eOperations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="lineNumber" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" transient="true" defaultValueLiteral="-1"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="explicitLinksBuilt" lowerBound="1" + eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" transient="true" + defaultValueLiteral="false"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="AgNSIdentification" abstract="true"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="release" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EIntegerObject" diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel index b8e772889e7b175eb81c7eb3790614506e900b33..0181ec07015d16fad7a1ebf1283e794dbbcdfc8b 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel @@ -147,6 +147,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//AnyLNClass/base"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//AnyLNClass/refersToAbstractLNClass"/> <genOperations ecoreOperation="nsd.ecore#//AnyLNClass/getName"/> + <genOperations ecoreOperation="nsd.ecore#//AnyLNClass/getLNClasses"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//ApplicableServiceNS"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ApplicableServiceNS/serviceNsUsage"/> @@ -177,6 +178,8 @@ <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"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//CDC/referredByDataObject"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//CDC/referredBySubDataObject"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//CDCs"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//CDCs/cDC"/> @@ -214,12 +217,17 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataAttribute/fc"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataAttribute/name"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/cDC"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/referredBySubDataObjectAsSizeAttribute"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/referredBySubDataObjectAsMaxIndexAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/name"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/transient"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/type"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//DataObject/anyLNClass"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataObject/refersToCDC"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataObject/refersToPresenceCondition"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataObject/refersToPresenceConditionDerivedStatistics"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataSetMemberOf"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataSetMemberOf/cb"/> @@ -297,6 +305,14 @@ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/cDCs"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/lNClasses"/> <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//NS/referredByDependsOn"/> + <genOperations ecoreOperation="nsd.ecore#//NS/findCDC"> + <genParameters ecoreParameter="nsd.ecore#//NS/findCDC/cDCName"/> + <genParameters ecoreParameter="nsd.ecore#//NS/findCDC/console"/> + </genOperations> + <genOperations ecoreOperation="nsd.ecore#//NS/findPresenceCondition"> + <genParameters ecoreParameter="nsd.ecore#//NS/findPresenceCondition/presenceConditionName"/> + <genParameters ecoreParameter="nsd.ecore#//NS/findPresenceCondition/console"/> + </genOperations> </genClasses> <genClasses ecoreClass="nsd.ecore#//NSDoc"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NSDoc/doc"/> @@ -308,6 +324,9 @@ <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"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceCondition/referredByDataObject"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceCondition/referredByDataObjectForDerivedStatistics"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceCondition/referredBySubDataObject"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//PresenceConditions"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceConditions/presenceCondition"/> @@ -366,12 +385,17 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataObject/name"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//SubDataObject/type"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//SubDataObject/cDC"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//SubDataObject/refersToCDC"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//SubDataObject/refersToPresenceCondition"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//SubDataObject/refersToSizeAttribute"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//SubDataObject/refersToMaxIndexAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//TitledClass"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//TitledClass/titleID"/> </genClasses> <genClasses image="false" ecoreClass="nsd.ecore#//NsdObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//NsdObject/lineNumber"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//NsdObject/explicitLinksBuilt"/> <genOperations ecoreOperation="nsd.ecore#//NsdObject/buildExplicitLinks"> <genParameters ecoreParameter="nsd.ecore#//NsdObject/buildExplicitLinks/console"/> </genOperations> 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 ea0c6d2df17721bf350f32a917206b75c7a70fa6..32154f7c1c2deb2bfefbb8a0898fd876260d9827 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 @@ -192,4 +192,12 @@ public interface AnyLNClass extends TitledClass { */ String getName(); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model kind="operation" + * @generated + */ + LNClasses getLNClasses(); + } // AnyLNClass 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 a7b2eb8609e3e43c5465090e864ae391291503fb..736f82b6f80435fad39cf710592876b4babe1fbe 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 @@ -39,6 +39,8 @@ import org.eclipse.emf.common.util.EList; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject <em>Referred By Data Object</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC() @@ -467,4 +469,86 @@ public interface CDC extends TitledClass { */ void setCDCs( CDCs value ); + /** + * Returns the value of the '<em><b>Referred By Data Object</b></em>' 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#getRefersToCDC <em>Refers To CDC</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data Object</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Data Object</em>' reference list. + * @see #isSetReferredByDataObject() + * @see #unsetReferredByDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_ReferredByDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC + * @model opposite="refersToCDC" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataObject > getReferredByDataObject(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject <em>Referred By Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataObject() + * @see #getReferredByDataObject() + * @generated + */ + void unsetReferredByDataObject(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject <em>Referred By Data Object</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Object</em>' reference list is set. + * @see #unsetReferredByDataObject() + * @see #getReferredByDataObject() + * @generated + */ + boolean isSetReferredByDataObject(); + + /** + * Returns the value of the '<em><b>Referred By Sub Data Object</b></em>' 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#getRefersToCDC <em>Refers To CDC</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Sub Data Object</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Sub Data Object</em>' reference list. + * @see #isSetReferredBySubDataObject() + * @see #unsetReferredBySubDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getCDC_ReferredBySubDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC + * @model opposite="refersToCDC" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< SubDataObject > getReferredBySubDataObject(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredBySubDataObject() + * @see #getReferredBySubDataObject() + * @generated + */ + void unsetReferredBySubDataObject(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Sub Data Object</em>' reference list is set. + * @see #unsetReferredBySubDataObject() + * @see #getReferredBySubDataObject() + * @generated + */ + boolean isSetReferredBySubDataObject(); + } // CDC 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 d24e71242ca5cbcf55f0adf1cea56e5e75b421c0..6ac5ff1000b20e90f3602fc3eb8341c44880987a 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 @@ -19,6 +19,8 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; +import org.eclipse.emf.common.util.EList; + /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Data Attribute</b></em>'. @@ -31,6 +33,8 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getFc <em>Fc</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getCDC <em>CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute <em>Referred By Sub Data Object As Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute <em>Referred By Sub Data Object As Max Index Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute() @@ -167,4 +171,86 @@ public interface DataAttribute */ void setCDC( CDC value ); + /** + * Returns the value of the '<em><b>Referred By Sub Data Object As Size Attribute</b></em>' 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#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Sub Data Object As Size Attribute</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Sub Data Object As Size Attribute</em>' reference list. + * @see #isSetReferredBySubDataObjectAsSizeAttribute() + * @see #unsetReferredBySubDataObjectAsSizeAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_ReferredBySubDataObjectAsSizeAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute + * @model opposite="refersToSizeAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< SubDataObject > getReferredBySubDataObjectAsSizeAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute <em>Referred By Sub Data Object As Size Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredBySubDataObjectAsSizeAttribute() + * @see #getReferredBySubDataObjectAsSizeAttribute() + * @generated + */ + void unsetReferredBySubDataObjectAsSizeAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute <em>Referred By Sub Data Object As Size Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Sub Data Object As Size Attribute</em>' reference list is set. + * @see #unsetReferredBySubDataObjectAsSizeAttribute() + * @see #getReferredBySubDataObjectAsSizeAttribute() + * @generated + */ + boolean isSetReferredBySubDataObjectAsSizeAttribute(); + + /** + * Returns the value of the '<em><b>Referred By Sub Data Object As Max Index Attribute</b></em>' 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#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Sub Data Object As Max Index Attribute</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Sub Data Object As Max Index Attribute</em>' reference list. + * @see #isSetReferredBySubDataObjectAsMaxIndexAttribute() + * @see #unsetReferredBySubDataObjectAsMaxIndexAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute + * @model opposite="refersToMaxIndexAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< SubDataObject > getReferredBySubDataObjectAsMaxIndexAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute <em>Referred By Sub Data Object As Max Index Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredBySubDataObjectAsMaxIndexAttribute() + * @see #getReferredBySubDataObjectAsMaxIndexAttribute() + * @generated + */ + void unsetReferredBySubDataObjectAsMaxIndexAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute <em>Referred By Sub Data Object As Max Index Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Sub Data Object As Max Index Attribute</em>' reference list is set. + * @see #unsetReferredBySubDataObjectAsMaxIndexAttribute() + * @see #getReferredBySubDataObjectAsMaxIndexAttribute() + * @generated + */ + boolean isSetReferredBySubDataObjectAsMaxIndexAttribute(); + } // 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 a738656fe3431233fefe92c76e1aa30d3bfb066b..f4b20dbfcacee1bad1848a0774470722091ff8bd 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 @@ -32,6 +32,9 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#isTransient <em>Transient</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getAnyLNClass <em>Any LN Class</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC <em>Refers To CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject() @@ -219,4 +222,169 @@ public interface DataObject */ void setAnyLNClass( AnyLNClass value ); + /** + * Returns the value of the '<em><b>Refers To CDC</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject <em>Referred By Data Object</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To CDC</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To CDC</em>' reference. + * @see #isSetRefersToCDC() + * @see #unsetRefersToCDC() + * @see #setRefersToCDC(CDC) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_RefersToCDC() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject + * @model opposite="referredByDataObject" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + CDC getRefersToCDC(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC <em>Refers To CDC</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To CDC</em>' reference. + * @see #isSetRefersToCDC() + * @see #unsetRefersToCDC() + * @see #getRefersToCDC() + * @generated + */ + void setRefersToCDC( CDC value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC <em>Refers To CDC</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToCDC() + * @see #getRefersToCDC() + * @see #setRefersToCDC(CDC) + * @generated + */ + void unsetRefersToCDC(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC <em>Refers To CDC</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To CDC</em>' reference is set. + * @see #unsetRefersToCDC() + * @see #getRefersToCDC() + * @see #setRefersToCDC(CDC) + * @generated + */ + boolean isSetRefersToCDC(); + + /** + * Returns the value of the '<em><b>Refers To Presence Condition</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject <em>Referred By Data Object</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Presence Condition</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Presence Condition</em>' reference. + * @see #isSetRefersToPresenceCondition() + * @see #unsetRefersToPresenceCondition() + * @see #setRefersToPresenceCondition(PresenceCondition) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_RefersToPresenceCondition() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject + * @model opposite="referredByDataObject" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + PresenceCondition getRefersToPresenceCondition(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Presence Condition</em>' reference. + * @see #isSetRefersToPresenceCondition() + * @see #unsetRefersToPresenceCondition() + * @see #getRefersToPresenceCondition() + * @generated + */ + void setRefersToPresenceCondition( PresenceCondition value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToPresenceCondition() + * @see #getRefersToPresenceCondition() + * @see #setRefersToPresenceCondition(PresenceCondition) + * @generated + */ + void unsetRefersToPresenceCondition(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Presence Condition</em>' reference is set. + * @see #unsetRefersToPresenceCondition() + * @see #getRefersToPresenceCondition() + * @see #setRefersToPresenceCondition(PresenceCondition) + * @generated + */ + boolean isSetRefersToPresenceCondition(); + + /** + * Returns the value of the '<em><b>Refers To Presence Condition Derived Statistics</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics <em>Referred By Data Object For Derived Statistics</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Presence Condition Derived Statistics</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Presence Condition Derived Statistics</em>' reference. + * @see #isSetRefersToPresenceConditionDerivedStatistics() + * @see #unsetRefersToPresenceConditionDerivedStatistics() + * @see #setRefersToPresenceConditionDerivedStatistics(PresenceCondition) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataObject_RefersToPresenceConditionDerivedStatistics() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics + * @model opposite="referredByDataObjectForDerivedStatistics" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + PresenceCondition getRefersToPresenceConditionDerivedStatistics(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Presence Condition Derived Statistics</em>' reference. + * @see #isSetRefersToPresenceConditionDerivedStatistics() + * @see #unsetRefersToPresenceConditionDerivedStatistics() + * @see #getRefersToPresenceConditionDerivedStatistics() + * @generated + */ + void setRefersToPresenceConditionDerivedStatistics( PresenceCondition value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToPresenceConditionDerivedStatistics() + * @see #getRefersToPresenceConditionDerivedStatistics() + * @see #setRefersToPresenceConditionDerivedStatistics(PresenceCondition) + * @generated + */ + void unsetRefersToPresenceConditionDerivedStatistics(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Presence Condition Derived Statistics</em>' reference is set. + * @see #unsetRefersToPresenceConditionDerivedStatistics() + * @see #getRefersToPresenceConditionDerivedStatistics() + * @see #setRefersToPresenceConditionDerivedStatistics(PresenceCondition) + * @generated + */ + boolean isSetRefersToPresenceConditionDerivedStatistics(); + } // DataObject 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 2cffc9c757f2c29c2f8d5cde50863cb1aa56307d..42a3a410c92b97b1bd830a30f7a7babba50c098a 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 @@ -19,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import org.eclipse.emf.common.util.EList; /** @@ -609,4 +610,20 @@ public interface NS extends Copyrighted, AgNSIdentification, AgUML, AgNSdesc { */ boolean isSetReferredByDependsOn(); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole" + * @generated + */ + CDC findCDC( String cDCName, IRiseClipseConsole console ); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole" + * @generated + */ + PresenceCondition findPresenceCondition( String presenceConditionName, IRiseClipseConsole console ); + } // NS diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java index 7ef47df69fcb6839827bce6aa6408bd2295488bc..b4c2c4820582ee0613a23b7766460ea8540c15cb 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/NsdObject.java @@ -32,6 +32,7 @@ import org.eclipse.emf.ecore.EObject; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#getLineNumber <em>Line Number</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#isExplicitLinksBuilt <em>Explicit Links Built</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNsdObject() @@ -67,11 +68,38 @@ public interface NsdObject extends EObject { */ void setLineNumber( int value ); + /** + * Returns the value of the '<em><b>Explicit Links Built</b></em>' attribute. + * The default value is <code>"false"</code>. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Explicit Links Built</em>' attribute isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Explicit Links Built</em>' attribute. + * @see #setExplicitLinksBuilt(boolean) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getNsdObject_ExplicitLinksBuilt() + * @model default="false" required="true" transient="true" + * @generated + */ + boolean isExplicitLinksBuilt(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#isExplicitLinksBuilt <em>Explicit Links Built</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Explicit Links Built</em>' attribute. + * @see #isExplicitLinksBuilt() + * @generated + */ + void setExplicitLinksBuilt( boolean value ); + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole" * @generated */ - void buildExplicitLinks( IRiseClipseConsole console ); + boolean buildExplicitLinks( IRiseClipseConsole console ); } // NsdObject 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 41168699e34679628d4dc37259e0446eb260f0c1..b4e0f95057e4b40aad426a5ab97abb94eb84c516 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 @@ -688,6 +688,15 @@ public interface NsdPackage extends EPackage { */ int NSD_OBJECT__LINE_NUMBER = 0; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NSD_OBJECT__EXPLICIT_LINKS_BUILT = 1; + /** * The number of structural features of the '<em>Object</em>' class. * <!-- begin-user-doc --> @@ -695,7 +704,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NSD_OBJECT_FEATURE_COUNT = 1; + int NSD_OBJECT_FEATURE_COUNT = 2; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -724,6 +733,15 @@ public interface NsdPackage extends EPackage { */ int APPLIES_TO_TYPE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLIES_TO_TYPE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Release</b></em>' attribute. * <!-- begin-user-doc --> @@ -814,6 +832,15 @@ public interface NsdPackage extends EPackage { */ int DEPENDS_ON__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DEPENDS_ON__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Release</b></em>' attribute. * <!-- begin-user-doc --> @@ -994,6 +1021,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_TYPE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_TYPE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> @@ -1048,6 +1084,15 @@ public interface NsdPackage extends EPackage { */ int ABBREVIATION__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABBREVIATION__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> @@ -1111,6 +1156,15 @@ public interface NsdPackage extends EPackage { */ int ABBREVIATIONS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABBREVIATIONS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Abbreviation</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -1174,6 +1228,15 @@ public interface NsdPackage extends EPackage { */ int DOCUMENTED_CLASS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -1237,6 +1300,15 @@ public interface NsdPackage extends EPackage { */ int TITLED_CLASS__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int TITLED_CLASS__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -1309,6 +1381,15 @@ public interface NsdPackage extends EPackage { */ int ANY_LN_CLASS__LINE_NUMBER = TITLED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_LN_CLASS__EXPLICIT_LINKS_BUILT = TITLED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -1399,6 +1480,15 @@ public interface NsdPackage extends EPackage { */ int ANY_LN_CLASS___GET_NAME = TITLED_CLASS_OPERATION_COUNT + 0; + /** + * The operation id for the '<em>Get LN Classes</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ANY_LN_CLASS___GET_LN_CLASSES = TITLED_CLASS_OPERATION_COUNT + 1; + /** * The number of operations of the '<em>Any LN Class</em>' class. * <!-- begin-user-doc --> @@ -1406,7 +1496,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int ANY_LN_CLASS_OPERATION_COUNT = TITLED_CLASS_OPERATION_COUNT + 1; + int ANY_LN_CLASS_OPERATION_COUNT = TITLED_CLASS_OPERATION_COUNT + 2; /** * The feature id for the '<em><b>Line Number</b></em>' attribute. @@ -1417,6 +1507,15 @@ public interface NsdPackage extends EPackage { */ int ABSTRACT_LN_CLASS__LINE_NUMBER = ANY_LN_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_LN_CLASS__EXPLICIT_LINKS_BUILT = ANY_LN_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -1534,6 +1633,15 @@ public interface NsdPackage extends EPackage { */ int ABSTRACT_LN_CLASS___GET_NAME = ANY_LN_CLASS___GET_NAME; + /** + * The operation id for the '<em>Get LN Classes</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ABSTRACT_LN_CLASS___GET_LN_CLASSES = ANY_LN_CLASS___GET_LN_CLASSES; + /** * The number of operations of the '<em>Abstract LN Class</em>' class. * <!-- begin-user-doc --> @@ -1552,6 +1660,15 @@ public interface NsdPackage extends EPackage { */ int COPYRIGHTED__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COPYRIGHTED__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Copyright</b></em>' containment reference. * <!-- begin-user-doc --> @@ -1597,6 +1714,15 @@ public interface NsdPackage extends EPackage { */ int APPLICABLE_SERVICE_NS__LINE_NUMBER = COPYRIGHTED__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLICABLE_SERVICE_NS__EXPLICIT_LINKS_BUILT = COPYRIGHTED__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Copyright</b></em>' containment reference. * <!-- begin-user-doc --> @@ -1669,6 +1795,15 @@ public interface NsdPackage extends EPackage { */ int APPLICABLE_SERVICES__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLICABLE_SERVICES__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Service</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -1732,6 +1867,15 @@ public interface NsdPackage extends EPackage { */ int BASIC_TYPE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BASIC_TYPE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Desc ID</b></em>' attribute. * <!-- begin-user-doc --> @@ -1795,6 +1939,15 @@ public interface NsdPackage extends EPackage { */ int BASIC_TYPES__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int BASIC_TYPES__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Basic Type</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -1849,6 +2002,15 @@ public interface NsdPackage extends EPackage { */ int CDC__LINE_NUMBER = TITLED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CDC__EXPLICIT_LINKS_BUILT = TITLED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -1966,6 +2128,24 @@ public interface NsdPackage extends EPackage { */ int CDC__CD_CS = TITLED_CLASS_FEATURE_COUNT + 8; + /** + * The feature id for the '<em><b>Referred By Data Object</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CDC__REFERRED_BY_DATA_OBJECT = TITLED_CLASS_FEATURE_COUNT + 9; + + /** + * The feature id for the '<em><b>Referred By Sub Data Object</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CDC__REFERRED_BY_SUB_DATA_OBJECT = TITLED_CLASS_FEATURE_COUNT + 10; + /** * The number of structural features of the '<em>CDC</em>' class. * <!-- begin-user-doc --> @@ -1973,7 +2153,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int CDC_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 9; + int CDC_FEATURE_COUNT = TITLED_CLASS_FEATURE_COUNT + 11; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -2002,6 +2182,15 @@ public interface NsdPackage extends EPackage { */ int CD_CS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CD_CS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>CDC</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -2056,6 +2245,15 @@ public interface NsdPackage extends EPackage { */ int CHANGES__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CHANGES__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Changes ID</b></em>' attribute. * <!-- begin-user-doc --> @@ -2164,6 +2362,15 @@ public interface NsdPackage extends EPackage { */ int CONSTRUCTED_ATTRIBUTE__LINE_NUMBER = TITLED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONSTRUCTED_ATTRIBUTE__EXPLICIT_LINKS_BUILT = TITLED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -2272,6 +2479,15 @@ public interface NsdPackage extends EPackage { */ int CONSTRUCTED_ATTRIBUTES__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONSTRUCTED_ATTRIBUTES__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Constructed Attribute</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -2326,6 +2542,15 @@ public interface NsdPackage extends EPackage { */ int COPYRIGHT_NOTICE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COPYRIGHT_NOTICE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Notice</b></em>' containment reference. * <!-- begin-user-doc --> @@ -2389,6 +2614,15 @@ public interface NsdPackage extends EPackage { */ int DATA_ATTRIBUTE__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -2578,6 +2812,24 @@ public interface NsdPackage extends EPackage { */ int DATA_ATTRIBUTE__CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 17; + /** + * The feature id for the '<em><b>Referred By Sub Data Object As Size Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 18; + + /** + * The feature id for the '<em><b>Referred By Sub Data Object As Max Index Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 19; + /** * The number of structural features of the '<em>Data Attribute</em>' class. * <!-- begin-user-doc --> @@ -2585,7 +2837,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 18; + int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 20; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -2614,6 +2866,15 @@ public interface NsdPackage extends EPackage { */ int DATA_OBJECT__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_OBJECT__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -2749,6 +3010,33 @@ public interface NsdPackage extends EPackage { */ int DATA_OBJECT__ANY_LN_CLASS = DOCUMENTED_CLASS_FEATURE_COUNT + 11; + /** + * The feature id for the '<em><b>Refers To CDC</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_OBJECT__REFERS_TO_CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 12; + + /** + * The feature id for the '<em><b>Refers To Presence Condition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION = DOCUMENTED_CLASS_FEATURE_COUNT + 13; + + /** + * The feature id for the '<em><b>Refers To Presence Condition Derived Statistics</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS = DOCUMENTED_CLASS_FEATURE_COUNT + 14; + /** * The number of structural features of the '<em>Data Object</em>' class. * <!-- begin-user-doc --> @@ -2756,7 +3044,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 12; + int DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 15; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -2785,6 +3073,15 @@ public interface NsdPackage extends EPackage { */ int DATA_SET_MEMBER_OF__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_SET_MEMBER_OF__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Cb</b></em>' attribute. * <!-- begin-user-doc --> @@ -2839,6 +3136,15 @@ public interface NsdPackage extends EPackage { */ int DOC__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DOC__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Mixed</b></em>' attribute list. * <!-- begin-user-doc --> @@ -2920,6 +3226,15 @@ public interface NsdPackage extends EPackage { */ int ENUMERATION__LINE_NUMBER = TITLED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ENUMERATION__EXPLICIT_LINKS_BUILT = TITLED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -3028,6 +3343,15 @@ public interface NsdPackage extends EPackage { */ int ENUMERATIONS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ENUMERATIONS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Enumeration</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -3082,6 +3406,15 @@ public interface NsdPackage extends EPackage { */ int FUNCTIONAL_CONSTRAINT__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONAL_CONSTRAINT__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Applicable Services</b></em>' containment reference. * <!-- begin-user-doc --> @@ -3163,6 +3496,15 @@ public interface NsdPackage extends EPackage { */ int FUNCTIONAL_CONSTRAINTS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONAL_CONSTRAINTS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Functional Constraint</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -3226,6 +3568,15 @@ public interface NsdPackage extends EPackage { */ int LICENSE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LICENSE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Mixed</b></em>' attribute list. * <!-- begin-user-doc --> @@ -3298,6 +3649,15 @@ public interface NsdPackage extends EPackage { */ int LITERAL__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LITERAL__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -3388,6 +3748,15 @@ public interface NsdPackage extends EPackage { */ int LN_CLASS__LINE_NUMBER = ANY_LN_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASS__EXPLICIT_LINKS_BUILT = ANY_LN_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -3514,6 +3883,15 @@ public interface NsdPackage extends EPackage { */ int LN_CLASS___GET_NAME = ANY_LN_CLASS___GET_NAME; + /** + * The operation id for the '<em>Get LN Classes</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASS___GET_LN_CLASSES = ANY_LN_CLASS___GET_LN_CLASSES; + /** * The number of operations of the '<em>LN Class</em>' class. * <!-- begin-user-doc --> @@ -3532,6 +3910,15 @@ public interface NsdPackage extends EPackage { */ int LN_CLASSES__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LN_CLASSES__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Abstract LN Class</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -3595,6 +3982,15 @@ public interface NsdPackage extends EPackage { */ int NOTICE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NOTICE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Mixed</b></em>' attribute list. * <!-- begin-user-doc --> @@ -3649,6 +4045,15 @@ public interface NsdPackage extends EPackage { */ int NS__LINE_NUMBER = COPYRIGHTED__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS__EXPLICIT_LINKS_BUILT = COPYRIGHTED__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Copyright</b></em>' containment reference. * <!-- begin-user-doc --> @@ -3847,6 +4252,24 @@ public interface NsdPackage extends EPackage { */ int NS___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE = COPYRIGHTED___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE; + /** + * The operation id for the '<em>Find CDC</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS___FIND_CDC__STRING_IRISECLIPSECONSOLE = COPYRIGHTED_OPERATION_COUNT + 0; + + /** + * The operation id for the '<em>Find Presence Condition</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE = COPYRIGHTED_OPERATION_COUNT + 1; + /** * The number of operations of the '<em>NS</em>' class. * <!-- begin-user-doc --> @@ -3854,7 +4277,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NS_OPERATION_COUNT = COPYRIGHTED_OPERATION_COUNT + 0; + int NS_OPERATION_COUNT = COPYRIGHTED_OPERATION_COUNT + 2; /** * The feature id for the '<em><b>Line Number</b></em>' attribute. @@ -3865,6 +4288,15 @@ public interface NsdPackage extends EPackage { */ int NS_DOC__LINE_NUMBER = COPYRIGHTED__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS_DOC__EXPLICIT_LINKS_BUILT = COPYRIGHTED__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Copyright</b></em>' containment reference. * <!-- begin-user-doc --> @@ -3991,6 +4423,15 @@ public interface NsdPackage extends EPackage { */ int PRESENCE_CONDITION__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITION__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Argument</b></em>' attribute. * <!-- begin-user-doc --> @@ -4036,6 +4477,33 @@ public interface NsdPackage extends EPackage { */ int PRESENCE_CONDITION__PRESENCE_CONDITIONS = NSD_OBJECT_FEATURE_COUNT + 4; + /** + * The feature id for the '<em><b>Referred By Data Object</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT = NSD_OBJECT_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Referred By Data Object For Derived Statistics</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS = NSD_OBJECT_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Referred By Sub Data Object</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT = NSD_OBJECT_FEATURE_COUNT + 7; + /** * The number of structural features of the '<em>Presence Condition</em>' class. * <!-- begin-user-doc --> @@ -4043,7 +4511,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int PRESENCE_CONDITION_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 5; + int PRESENCE_CONDITION_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 8; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -4072,6 +4540,15 @@ public interface NsdPackage extends EPackage { */ int PRESENCE_CONDITIONS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITIONS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Presence Condition</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4135,6 +4612,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CDC__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CDC__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Service Data Attribute</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4207,6 +4693,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CD_CS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CD_CS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Service CDC</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4261,6 +4756,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CONSTRUCTED_ATTRIBUTE__LINE_NUMBER = CONSTRUCTED_ATTRIBUTE__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTE__EXPLICIT_LINKS_BUILT = CONSTRUCTED_ATTRIBUTE__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -4387,6 +4891,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_CONSTRUCTED_ATTRIBUTES__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_CONSTRUCTED_ATTRIBUTES__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Service Constructed Attribute</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -4441,6 +4954,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_DATA_ATTRIBUTE__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_DATA_ATTRIBUTE__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -4594,6 +5116,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_NS__LINE_NUMBER = COPYRIGHTED__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_NS__EXPLICIT_LINKS_BUILT = COPYRIGHTED__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Copyright</b></em>' containment reference. * <!-- begin-user-doc --> @@ -4774,6 +5305,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_NS_USAGE__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_NS_USAGE__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Release</b></em>' attribute. * <!-- begin-user-doc --> @@ -4873,6 +5413,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_PARAMETER__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_PARAMETER__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -4999,6 +5548,15 @@ public interface NsdPackage extends EPackage { */ int SERVICE_TYPE_REALIZATIONS__LINE_NUMBER = NSD_OBJECT__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SERVICE_TYPE_REALIZATIONS__EXPLICIT_LINKS_BUILT = NSD_OBJECT__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Service Type Realization</b></em>' containment reference list. * <!-- begin-user-doc --> @@ -5053,6 +5611,15 @@ public interface NsdPackage extends EPackage { */ int SUB_DATA_ATTRIBUTE__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_ATTRIBUTE__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -5242,6 +5809,15 @@ public interface NsdPackage extends EPackage { */ int SUB_DATA_OBJECT__LINE_NUMBER = DOCUMENTED_CLASS__LINE_NUMBER; + /** + * The feature id for the '<em><b>Explicit Links Built</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_OBJECT__EXPLICIT_LINKS_BUILT = DOCUMENTED_CLASS__EXPLICIT_LINKS_BUILT; + /** * The feature id for the '<em><b>Deprecated</b></em>' attribute. * <!-- begin-user-doc --> @@ -5306,76 +5882,112 @@ public interface NsdPackage extends EPackage { int SUB_DATA_OBJECT__IS_ARRAY = DOCUMENTED_CLASS_FEATURE_COUNT + 3; /** - * The feature id for the '<em><b>Max Index Attribute</b></em>' attribute. + * The feature id for the '<em><b>Max Index Attribute</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 4; + + /** + * The feature id for the '<em><b>Min Index</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_OBJECT__MIN_INDEX = DOCUMENTED_CLASS_FEATURE_COUNT + 5; + + /** + * The feature id for the '<em><b>Size Attribute</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_OBJECT__SIZE_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 6; + + /** + * The feature id for the '<em><b>Underlying Type</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int SUB_DATA_OBJECT__UNDERLYING_TYPE = DOCUMENTED_CLASS_FEATURE_COUNT + 7; + + /** + * The feature id for the '<em><b>Underlying Type Kind</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 4; + int SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 8; /** - * The feature id for the '<em><b>Min Index</b></em>' attribute. + * The feature id for the '<em><b>Name</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__MIN_INDEX = DOCUMENTED_CLASS_FEATURE_COUNT + 5; + int SUB_DATA_OBJECT__NAME = DOCUMENTED_CLASS_FEATURE_COUNT + 9; /** - * The feature id for the '<em><b>Size Attribute</b></em>' attribute. + * The feature id for the '<em><b>Type</b></em>' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__SIZE_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 6; + int SUB_DATA_OBJECT__TYPE = DOCUMENTED_CLASS_FEATURE_COUNT + 10; /** - * The feature id for the '<em><b>Underlying Type</b></em>' attribute. + * The feature id for the '<em><b>CDC</b></em>' container reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__UNDERLYING_TYPE = DOCUMENTED_CLASS_FEATURE_COUNT + 7; + int SUB_DATA_OBJECT__CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 11; /** - * The feature id for the '<em><b>Underlying Type Kind</b></em>' attribute. + * The feature id for the '<em><b>Refers To CDC</b></em>' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__UNDERLYING_TYPE_KIND = DOCUMENTED_CLASS_FEATURE_COUNT + 8; + int SUB_DATA_OBJECT__REFERS_TO_CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 12; /** - * The feature id for the '<em><b>Name</b></em>' attribute. + * The feature id for the '<em><b>Refers To Presence Condition</b></em>' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__NAME = DOCUMENTED_CLASS_FEATURE_COUNT + 9; + int SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION = DOCUMENTED_CLASS_FEATURE_COUNT + 13; /** - * The feature id for the '<em><b>Type</b></em>' attribute. + * The feature id for the '<em><b>Refers To Size Attribute</b></em>' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__TYPE = DOCUMENTED_CLASS_FEATURE_COUNT + 10; + int SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 14; /** - * The feature id for the '<em><b>CDC</b></em>' container reference. + * The feature id for the '<em><b>Refers To Max Index Attribute</b></em>' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int SUB_DATA_OBJECT__CDC = DOCUMENTED_CLASS_FEATURE_COUNT + 11; + int SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 15; /** * The number of structural features of the '<em>Sub Data Object</em>' class. @@ -5384,7 +5996,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int SUB_DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 12; + int SUB_DATA_OBJECT_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 16; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -6366,6 +6978,16 @@ public interface NsdPackage extends EPackage { */ EOperation getAnyLNClass__GetName(); + /** + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getLNClasses() <em>Get LN Classes</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Get LN Classes</em>' operation. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass#getLNClasses() + * @generated + */ + EOperation getAnyLNClass__GetLNClasses(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServiceNS <em>Applicable Service NS</em>}'. * <!-- begin-user-doc --> @@ -6636,6 +7258,28 @@ public interface NsdPackage extends EPackage { */ EReference getCDC_CDCs(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject <em>Referred By Data Object</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Object</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredByDataObject() + * @see #getCDC() + * @generated + */ + EReference getCDC_ReferredByDataObject(); + + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Sub Data Object</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject() + * @see #getCDC() + * @generated + */ + EReference getCDC_ReferredBySubDataObject(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs <em>CD Cs</em>}'. * <!-- begin-user-doc --> @@ -6959,6 +7603,28 @@ public interface NsdPackage extends EPackage { */ EReference getDataAttribute_CDC(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute <em>Referred By Sub Data Object As Size Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Sub Data Object As Size Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_ReferredBySubDataObjectAsSizeAttribute(); + + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute <em>Referred By Sub Data Object As Max Index Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Sub Data Object As Max Index Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject <em>Data Object</em>}'. * <!-- begin-user-doc --> @@ -7013,6 +7679,39 @@ public interface NsdPackage extends EPackage { */ EReference getDataObject_AnyLNClass(); + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC <em>Refers To CDC</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To CDC</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToCDC() + * @see #getDataObject() + * @generated + */ + EReference getDataObject_RefersToCDC(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Presence Condition</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition() + * @see #getDataObject() + * @generated + */ + EReference getDataObject_RefersToPresenceCondition(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Presence Condition Derived Statistics</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics() + * @see #getDataObject() + * @generated + */ + EReference getDataObject_RefersToPresenceConditionDerivedStatistics(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataSetMemberOf <em>Data Set Member Of</em>}'. * <!-- begin-user-doc --> @@ -7704,6 +8403,26 @@ public interface NsdPackage extends EPackage { */ EReference getNS_ReferredByDependsOn(); + /** + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findCDC(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) <em>Find CDC</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Find CDC</em>' operation. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findCDC(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) + * @generated + */ + EOperation getNS__FindCDC__String_IRiseClipseConsole(); + + /** + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findPresenceCondition(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) <em>Find Presence Condition</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Find Presence Condition</em>' operation. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findPresenceCondition(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) + * @generated + */ + EOperation getNS__FindPresenceCondition__String_IRiseClipseConsole(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc <em>NS Doc</em>}'. * <!-- begin-user-doc --> @@ -7801,6 +8520,39 @@ public interface NsdPackage extends EPackage { */ EReference getPresenceCondition_PresenceConditions(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject <em>Referred By Data Object</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Object</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject() + * @see #getPresenceCondition() + * @generated + */ + EReference getPresenceCondition_ReferredByDataObject(); + + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics <em>Referred By Data Object For Derived Statistics</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Object For Derived Statistics</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics() + * @see #getPresenceCondition() + * @generated + */ + EReference getPresenceCondition_ReferredByDataObjectForDerivedStatistics(); + + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Sub Data Object</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject() + * @see #getPresenceCondition() + * @generated + */ + EReference getPresenceCondition_ReferredBySubDataObject(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions <em>Presence Conditions</em>}'. * <!-- begin-user-doc --> @@ -8295,6 +9047,50 @@ public interface NsdPackage extends EPackage { */ EReference getSubDataObject_CDC(); + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC <em>Refers To CDC</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To CDC</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC() + * @see #getSubDataObject() + * @generated + */ + EReference getSubDataObject_RefersToCDC(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Presence Condition</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition() + * @see #getSubDataObject() + * @generated + */ + EReference getSubDataObject_RefersToPresenceCondition(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Size Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute() + * @see #getSubDataObject() + * @generated + */ + EReference getSubDataObject_RefersToSizeAttribute(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Max Index Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute() + * @see #getSubDataObject() + * @generated + */ + EReference getSubDataObject_RefersToMaxIndexAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.TitledClass <em>Titled Class</em>}'. * <!-- begin-user-doc --> @@ -8337,6 +9133,17 @@ public interface NsdPackage extends EPackage { */ EAttribute getNsdObject_LineNumber(); + /** + * Returns the meta object for the attribute '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#isExplicitLinksBuilt <em>Explicit Links Built</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Explicit Links Built</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#isExplicitLinksBuilt() + * @see #getNsdObject() + * @generated + */ + EAttribute getNsdObject_ExplicitLinksBuilt(); + /** * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdObject#buildExplicitLinks(fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) <em>Build Explicit Links</em>}' operation. * <!-- begin-user-doc --> @@ -9213,6 +10020,14 @@ public interface NsdPackage extends EPackage { */ EOperation ANY_LN_CLASS___GET_NAME = eINSTANCE.getAnyLNClass__GetName(); + /** + * The meta object literal for the '<em><b>Get LN Classes</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation ANY_LN_CLASS___GET_LN_CLASSES = eINSTANCE.getAnyLNClass__GetLNClasses(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ApplicableServiceNSImpl <em>Applicable Service NS</em>}' class. * <!-- begin-user-doc --> @@ -9423,6 +10238,22 @@ public interface NsdPackage extends EPackage { */ EReference CDC__CD_CS = eINSTANCE.getCDC_CDCs(); + /** + * The meta object literal for the '<em><b>Referred By Data Object</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CDC__REFERRED_BY_DATA_OBJECT = eINSTANCE.getCDC_ReferredByDataObject(); + + /** + * The meta object literal for the '<em><b>Referred By Sub Data Object</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CDC__REFERRED_BY_SUB_DATA_OBJECT = eINSTANCE.getCDC_ReferredBySubDataObject(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCsImpl <em>CD Cs</em>}' class. * <!-- begin-user-doc --> @@ -9680,6 +10511,24 @@ public interface NsdPackage extends EPackage { */ EReference DATA_ATTRIBUTE__CDC = eINSTANCE.getDataAttribute_CDC(); + /** + * The meta object literal for the '<em><b>Referred By Sub Data Object As Size Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE = eINSTANCE + .getDataAttribute_ReferredBySubDataObjectAsSizeAttribute(); + + /** + * The meta object literal for the '<em><b>Referred By Sub Data Object As Max Index Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE = eINSTANCE + .getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl <em>Data Object</em>}' class. * <!-- begin-user-doc --> @@ -9722,6 +10571,31 @@ public interface NsdPackage extends EPackage { */ EReference DATA_OBJECT__ANY_LN_CLASS = eINSTANCE.getDataObject_AnyLNClass(); + /** + * The meta object literal for the '<em><b>Refers To CDC</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_OBJECT__REFERS_TO_CDC = eINSTANCE.getDataObject_RefersToCDC(); + + /** + * The meta object literal for the '<em><b>Refers To Presence Condition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION = eINSTANCE.getDataObject_RefersToPresenceCondition(); + + /** + * The meta object literal for the '<em><b>Refers To Presence Condition Derived Statistics</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS = eINSTANCE + .getDataObject_RefersToPresenceConditionDerivedStatistics(); + /** * 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 --> @@ -10262,6 +11136,23 @@ public interface NsdPackage extends EPackage { */ EReference NS__REFERRED_BY_DEPENDS_ON = eINSTANCE.getNS_ReferredByDependsOn(); + /** + * The meta object literal for the '<em><b>Find CDC</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation NS___FIND_CDC__STRING_IRISECLIPSECONSOLE = eINSTANCE.getNS__FindCDC__String_IRiseClipseConsole(); + + /** + * The meta object literal for the '<em><b>Find Presence Condition</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE = eINSTANCE + .getNS__FindPresenceCondition__String_IRiseClipseConsole(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NSDocImpl <em>NS Doc</em>}' class. * <!-- begin-user-doc --> @@ -10338,6 +11229,32 @@ public interface NsdPackage extends EPackage { */ EReference PRESENCE_CONDITION__PRESENCE_CONDITIONS = eINSTANCE.getPresenceCondition_PresenceConditions(); + /** + * The meta object literal for the '<em><b>Referred By Data Object</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT = eINSTANCE.getPresenceCondition_ReferredByDataObject(); + + /** + * The meta object literal for the '<em><b>Referred By Data Object For Derived Statistics</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS = eINSTANCE + .getPresenceCondition_ReferredByDataObjectForDerivedStatistics(); + + /** + * The meta object literal for the '<em><b>Referred By Sub Data Object</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT = eINSTANCE + .getPresenceCondition_ReferredBySubDataObject(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionsImpl <em>Presence Conditions</em>}' class. * <!-- begin-user-doc --> @@ -10734,6 +11651,40 @@ public interface NsdPackage extends EPackage { */ EReference SUB_DATA_OBJECT__CDC = eINSTANCE.getSubDataObject_CDC(); + /** + * The meta object literal for the '<em><b>Refers To CDC</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SUB_DATA_OBJECT__REFERS_TO_CDC = eINSTANCE.getSubDataObject_RefersToCDC(); + + /** + * The meta object literal for the '<em><b>Refers To Presence Condition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION = eINSTANCE + .getSubDataObject_RefersToPresenceCondition(); + + /** + * The meta object literal for the '<em><b>Refers To Size Attribute</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE = eINSTANCE.getSubDataObject_RefersToSizeAttribute(); + + /** + * The meta object literal for the '<em><b>Refers To Max Index Attribute</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE = eINSTANCE + .getSubDataObject_RefersToMaxIndexAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.TitledClassImpl <em>Titled Class</em>}' class. * <!-- begin-user-doc --> @@ -10770,6 +11721,14 @@ public interface NsdPackage extends EPackage { */ EAttribute NSD_OBJECT__LINE_NUMBER = eINSTANCE.getNsdObject_LineNumber(); + /** + * The meta object literal for the '<em><b>Explicit Links Built</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute NSD_OBJECT__EXPLICIT_LINKS_BUILT = eINSTANCE.getNsdObject_ExplicitLinksBuilt(); + /** * The meta object literal for the '<em><b>Build Explicit Links</b></em>' operation. * <!-- 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 312d3bdf8d4faf749088bd8224d31cd8f58d267c..2cebb8d6dbffe39557e4a3b5e4b78ae7d836a883 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 @@ -19,6 +19,8 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; +import org.eclipse.emf.common.util.EList; + /** * <!-- begin-user-doc --> * A representation of the model object '<em><b>Presence Condition</b></em>'. @@ -33,6 +35,9 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject <em>Referred By Data Object</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics <em>Referred By Data Object For Derived Statistics</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition() @@ -268,4 +273,127 @@ public interface PresenceCondition extends NsdObject { */ void setPresenceConditions( PresenceConditions value ); + /** + * Returns the value of the '<em><b>Referred By Data Object</b></em>' 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#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data Object</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Data Object</em>' reference list. + * @see #isSetReferredByDataObject() + * @see #unsetReferredByDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_ReferredByDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceCondition + * @model opposite="refersToPresenceCondition" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataObject > getReferredByDataObject(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject <em>Referred By Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataObject() + * @see #getReferredByDataObject() + * @generated + */ + void unsetReferredByDataObject(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObject <em>Referred By Data Object</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Object</em>' reference list is set. + * @see #unsetReferredByDataObject() + * @see #getReferredByDataObject() + * @generated + */ + boolean isSetReferredByDataObject(); + + /** + * Returns the value of the '<em><b>Referred By Data Object For Derived Statistics</b></em>' 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#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data Object For Derived Statistics</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Data Object For Derived Statistics</em>' reference list. + * @see #isSetReferredByDataObjectForDerivedStatistics() + * @see #unsetReferredByDataObjectForDerivedStatistics() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_ReferredByDataObjectForDerivedStatistics() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject#getRefersToPresenceConditionDerivedStatistics + * @model opposite="refersToPresenceConditionDerivedStatistics" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataObject > getReferredByDataObjectForDerivedStatistics(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics <em>Referred By Data Object For Derived Statistics</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataObjectForDerivedStatistics() + * @see #getReferredByDataObjectForDerivedStatistics() + * @generated + */ + void unsetReferredByDataObjectForDerivedStatistics(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataObjectForDerivedStatistics <em>Referred By Data Object For Derived Statistics</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Object For Derived Statistics</em>' reference list is set. + * @see #unsetReferredByDataObjectForDerivedStatistics() + * @see #getReferredByDataObjectForDerivedStatistics() + * @generated + */ + boolean isSetReferredByDataObjectForDerivedStatistics(); + + /** + * Returns the value of the '<em><b>Referred By Sub Data Object</b></em>' 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#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Sub Data Object</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Referred By Sub Data Object</em>' reference list. + * @see #isSetReferredBySubDataObject() + * @see #unsetReferredBySubDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_ReferredBySubDataObject() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition + * @model opposite="refersToPresenceCondition" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< SubDataObject > getReferredBySubDataObject(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredBySubDataObject() + * @see #getReferredBySubDataObject() + * @generated + */ + void unsetReferredBySubDataObject(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Sub Data Object</em>' reference list is set. + * @see #unsetReferredBySubDataObject() + * @see #getReferredBySubDataObject() + * @generated + */ + boolean isSetReferredBySubDataObject(); + } // PresenceCondition 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 2eb1af4cf56d1bc255223fbd10c615f6c3ba56c7..17aa9e49a3c5a595e786a0bf0e63efe7e454bc24 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 @@ -31,6 +31,10 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getType <em>Type</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getCDC <em>CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC <em>Refers To CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject() @@ -166,4 +170,224 @@ public interface SubDataObject extends DocumentedClass, AgPresenceCondition, AgA */ void setCDC( CDC value ); + /** + * Returns the value of the '<em><b>Refers To CDC</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To CDC</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To CDC</em>' reference. + * @see #isSetRefersToCDC() + * @see #unsetRefersToCDC() + * @see #setRefersToCDC(CDC) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_RefersToCDC() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC#getReferredBySubDataObject + * @model opposite="referredBySubDataObject" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + CDC getRefersToCDC(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC <em>Refers To CDC</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To CDC</em>' reference. + * @see #isSetRefersToCDC() + * @see #unsetRefersToCDC() + * @see #getRefersToCDC() + * @generated + */ + void setRefersToCDC( CDC value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC <em>Refers To CDC</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToCDC() + * @see #getRefersToCDC() + * @see #setRefersToCDC(CDC) + * @generated + */ + void unsetRefersToCDC(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToCDC <em>Refers To CDC</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To CDC</em>' reference is set. + * @see #unsetRefersToCDC() + * @see #getRefersToCDC() + * @see #setRefersToCDC(CDC) + * @generated + */ + boolean isSetRefersToCDC(); + + /** + * Returns the value of the '<em><b>Refers To Presence Condition</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Presence Condition</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Presence Condition</em>' reference. + * @see #isSetRefersToPresenceCondition() + * @see #unsetRefersToPresenceCondition() + * @see #setRefersToPresenceCondition(PresenceCondition) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_RefersToPresenceCondition() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredBySubDataObject + * @model opposite="referredBySubDataObject" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + PresenceCondition getRefersToPresenceCondition(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Presence Condition</em>' reference. + * @see #isSetRefersToPresenceCondition() + * @see #unsetRefersToPresenceCondition() + * @see #getRefersToPresenceCondition() + * @generated + */ + void setRefersToPresenceCondition( PresenceCondition value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToPresenceCondition() + * @see #getRefersToPresenceCondition() + * @see #setRefersToPresenceCondition(PresenceCondition) + * @generated + */ + void unsetRefersToPresenceCondition(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Presence Condition</em>' reference is set. + * @see #unsetRefersToPresenceCondition() + * @see #getRefersToPresenceCondition() + * @see #setRefersToPresenceCondition(PresenceCondition) + * @generated + */ + boolean isSetRefersToPresenceCondition(); + + /** + * Returns the value of the '<em><b>Refers To Size Attribute</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute <em>Referred By Sub Data Object As Size Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Size Attribute</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Size Attribute</em>' reference. + * @see #isSetRefersToSizeAttribute() + * @see #unsetRefersToSizeAttribute() + * @see #setRefersToSizeAttribute(DataAttribute) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_RefersToSizeAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsSizeAttribute + * @model opposite="referredBySubDataObjectAsSizeAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + DataAttribute getRefersToSizeAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Size Attribute</em>' reference. + * @see #isSetRefersToSizeAttribute() + * @see #unsetRefersToSizeAttribute() + * @see #getRefersToSizeAttribute() + * @generated + */ + void setRefersToSizeAttribute( DataAttribute value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToSizeAttribute() + * @see #getRefersToSizeAttribute() + * @see #setRefersToSizeAttribute(DataAttribute) + * @generated + */ + void unsetRefersToSizeAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Size Attribute</em>' reference is set. + * @see #unsetRefersToSizeAttribute() + * @see #getRefersToSizeAttribute() + * @see #setRefersToSizeAttribute(DataAttribute) + * @generated + */ + boolean isSetRefersToSizeAttribute(); + + /** + * Returns the value of the '<em><b>Refers To Max Index Attribute</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute <em>Referred By Sub Data Object As Max Index Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Max Index Attribute</em>' reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Refers To Max Index Attribute</em>' reference. + * @see #isSetRefersToMaxIndexAttribute() + * @see #unsetRefersToMaxIndexAttribute() + * @see #setRefersToMaxIndexAttribute(DataAttribute) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getSubDataObject_RefersToMaxIndexAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredBySubDataObjectAsMaxIndexAttribute + * @model opposite="referredBySubDataObjectAsMaxIndexAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + DataAttribute getRefersToMaxIndexAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Max Index Attribute</em>' reference. + * @see #isSetRefersToMaxIndexAttribute() + * @see #unsetRefersToMaxIndexAttribute() + * @see #getRefersToMaxIndexAttribute() + * @generated + */ + void setRefersToMaxIndexAttribute( DataAttribute value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToMaxIndexAttribute() + * @see #getRefersToMaxIndexAttribute() + * @see #setRefersToMaxIndexAttribute(DataAttribute) + * @generated + */ + void unsetRefersToMaxIndexAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Max Index Attribute</em>' reference is set. + * @see #unsetRefersToMaxIndexAttribute() + * @see #getRefersToMaxIndexAttribute() + * @see #setRefersToMaxIndexAttribute(DataAttribute) + * @generated + */ + boolean isSetRefersToMaxIndexAttribute(); + } // SubDataObject 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 f04c4cc3c101ca8a3d0461ba9ad8530dab078271..9044f7da7e1c4f24596fe4efdca6a5a9b0c1e921 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 @@ -336,12 +336,22 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated + * @generated NOT */ @Override public String getName() { - // TODO: implement this method - // Ensure that you remove @generated or mark it @generated NOT + // TODO: use a RiseClipseException ? + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + @Override + public LNClasses getLNClasses() { + // TODO: use a RiseClipseException ? throw new UnsupportedOperationException(); } @@ -472,6 +482,8 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla switch( operationID ) { case NsdPackage.ANY_LN_CLASS___GET_NAME: return getName(); + case NsdPackage.ANY_LN_CLASS___GET_LN_CLASSES: + return getLNClasses(); } return super.eInvoke( operationID, arguments ); } @@ -499,10 +511,12 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla * AnyLNClass.base -> AbstractLNClass */ @Override - public void buildExplicitLinks( IRiseClipseConsole console ) { - super.buildExplicitLinks( console ); - if( !baseESet ) return; + public boolean buildExplicitLinks( IRiseClipseConsole console ) { + if( super.buildExplicitLinks( console ) ) return true; + if( !isSetBase() ) return false; + // This code assumes that the referred AbstractLNClass is in the same NS + // TODO: check that it is right LNClasses lNClasses = ( LNClasses ) eContainer(); EList< AbstractLNClass > l = lNClasses.getAbstractLNClass(); setRefersToAbstractLNClass( l.stream() @@ -513,8 +527,10 @@ public abstract class AnyLNClassImpl extends TitledClassImpl implements AnyLNCla } else { console.info( "AbstractLNClass (name: " + getBase() + ") refers by AnyLNClass (name: " + getName() - + ") in NS (id:" + lNClasses.getNS().getId() + ") found" ); + + ") in NS (id:" + lNClasses.getNS().getId() + ") found in NS (id:" + + getRefersToAbstractLNClass().getLNClasses().getNS().getId() + ")" ); } + return false; } } //AnyLNClassImpl 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 389b0af9d6d86c30fbb42616ab7f445d14027490..c18bf256d24f8630262eb6023cbe34f0a70718c4 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 @@ -22,6 +22,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.DataObject; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceParameter; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject; @@ -38,6 +39,7 @@ import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.EObjectWithInverseEList; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.util.InternalEList; @@ -58,6 +60,8 @@ import org.eclipse.emf.ecore.util.InternalEList; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl#getReferredByDataObject <em>Referred By Data Object</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.CDCImpl#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}</li> * </ul> * * @generated @@ -247,6 +251,26 @@ public class CDCImpl extends TitledClassImpl implements CDC { */ protected boolean variantESet; + /** + * The cached value of the '{@link #getReferredByDataObject() <em>Referred By Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataObject() + * @generated + * @ordered + */ + protected EList< DataObject > referredByDataObject; + + /** + * The cached value of the '{@link #getReferredBySubDataObject() <em>Referred By Sub Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredBySubDataObject() + * @generated + * @ordered + */ + protected EList< SubDataObject > referredBySubDataObject; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -740,6 +764,74 @@ public class CDCImpl extends TitledClassImpl implements CDC { eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.CDC__CD_CS, newCDCs, newCDCs ) ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DataObject > getReferredByDataObject() { + if( referredByDataObject == null ) { + referredByDataObject = new EObjectWithInverseEList.Unsettable< DataObject >( DataObject.class, this, + NsdPackage.CDC__REFERRED_BY_DATA_OBJECT, NsdPackage.DATA_OBJECT__REFERS_TO_CDC ); + } + return referredByDataObject; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataObject() { + if( referredByDataObject != null ) ( ( InternalEList.Unsettable< ? > ) referredByDataObject ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataObject() { + return referredByDataObject != null && ( ( InternalEList.Unsettable< ? > ) referredByDataObject ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< SubDataObject > getReferredBySubDataObject() { + if( referredBySubDataObject == null ) { + referredBySubDataObject = new EObjectWithInverseEList.Unsettable< SubDataObject >( SubDataObject.class, + this, NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT, NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC ); + } + return referredBySubDataObject; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredBySubDataObject() { + if( referredBySubDataObject != null ) ( ( InternalEList.Unsettable< ? > ) referredBySubDataObject ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredBySubDataObject() { + return referredBySubDataObject != null && ( ( InternalEList.Unsettable< ? > ) referredBySubDataObject ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -762,6 +854,12 @@ public class CDCImpl extends TitledClassImpl implements CDC { case NsdPackage.CDC__CD_CS: if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetCDCs( ( CDCs ) otherEnd, msgs ); + case NsdPackage.CDC__REFERRED_BY_DATA_OBJECT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataObject() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredBySubDataObject() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -782,6 +880,10 @@ public class CDCImpl extends TitledClassImpl implements CDC { return basicUnsetServiceParameter( msgs ); case NsdPackage.CDC__CD_CS: return basicSetCDCs( null, msgs ); + case NsdPackage.CDC__REFERRED_BY_DATA_OBJECT: + return ( ( InternalEList< ? > ) getReferredByDataObject() ).basicRemove( otherEnd, msgs ); + case NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT: + return ( ( InternalEList< ? > ) getReferredBySubDataObject() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -826,6 +928,10 @@ public class CDCImpl extends TitledClassImpl implements CDC { return getVariant(); case NsdPackage.CDC__CD_CS: return getCDCs(); + case NsdPackage.CDC__REFERRED_BY_DATA_OBJECT: + return getReferredByDataObject(); + case NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT: + return getReferredBySubDataObject(); } return super.eGet( featureID, resolve, coreType ); } @@ -868,6 +974,14 @@ public class CDCImpl extends TitledClassImpl implements CDC { case NsdPackage.CDC__CD_CS: setCDCs( ( CDCs ) newValue ); return; + case NsdPackage.CDC__REFERRED_BY_DATA_OBJECT: + getReferredByDataObject().clear(); + getReferredByDataObject().addAll( ( Collection< ? extends DataObject > ) newValue ); + return; + case NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT: + getReferredBySubDataObject().clear(); + getReferredBySubDataObject().addAll( ( Collection< ? extends SubDataObject > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -907,6 +1021,12 @@ public class CDCImpl extends TitledClassImpl implements CDC { case NsdPackage.CDC__CD_CS: setCDCs( ( CDCs ) null ); return; + case NsdPackage.CDC__REFERRED_BY_DATA_OBJECT: + unsetReferredByDataObject(); + return; + case NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT: + unsetReferredBySubDataObject(); + return; } super.eUnset( featureID ); } @@ -937,6 +1057,10 @@ public class CDCImpl extends TitledClassImpl implements CDC { return isSetVariant(); case NsdPackage.CDC__CD_CS: return getCDCs() != null; + case NsdPackage.CDC__REFERRED_BY_DATA_OBJECT: + return isSetReferredByDataObject(); + case NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT: + return isSetReferredBySubDataObject(); } 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 ec3e4d6859de492d03b8c54d621f9f809a616e55..80f4c8fa8a494e8a66c58f4ebfddcff867bc1251 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 @@ -29,18 +29,23 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject; import java.math.BigDecimal; +import java.util.Collection; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.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.EObjectWithInverseEList; import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> @@ -68,6 +73,8 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getFc <em>Fc</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getName <em>Name</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getCDC <em>CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getReferredBySubDataObjectAsSizeAttribute <em>Referred By Sub Data Object As Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getReferredBySubDataObjectAsMaxIndexAttribute <em>Referred By Sub Data Object As Max Index Attribute</em>}</li> * </ul> * * @generated @@ -567,6 +574,26 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected boolean nameESet; + /** + * The cached value of the '{@link #getReferredBySubDataObjectAsSizeAttribute() <em>Referred By Sub Data Object As Size Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredBySubDataObjectAsSizeAttribute() + * @generated + * @ordered + */ + protected EList< SubDataObject > referredBySubDataObjectAsSizeAttribute; + + /** + * The cached value of the '{@link #getReferredBySubDataObjectAsMaxIndexAttribute() <em>Referred By Sub Data Object As Max Index Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredBySubDataObjectAsMaxIndexAttribute() + * @generated + * @ordered + */ + protected EList< SubDataObject > referredBySubDataObjectAsMaxIndexAttribute; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1492,11 +1519,93 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib * @generated */ @Override + public EList< SubDataObject > getReferredBySubDataObjectAsSizeAttribute() { + if( referredBySubDataObjectAsSizeAttribute == null ) { + referredBySubDataObjectAsSizeAttribute = new EObjectWithInverseEList.Unsettable< SubDataObject >( + SubDataObject.class, this, NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE ); + } + return referredBySubDataObjectAsSizeAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredBySubDataObjectAsSizeAttribute() { + if( referredBySubDataObjectAsSizeAttribute != null ) + ( ( InternalEList.Unsettable< ? > ) referredBySubDataObjectAsSizeAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredBySubDataObjectAsSizeAttribute() { + return referredBySubDataObjectAsSizeAttribute != null + && ( ( InternalEList.Unsettable< ? > ) referredBySubDataObjectAsSizeAttribute ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< SubDataObject > getReferredBySubDataObjectAsMaxIndexAttribute() { + if( referredBySubDataObjectAsMaxIndexAttribute == null ) { + referredBySubDataObjectAsMaxIndexAttribute = new EObjectWithInverseEList.Unsettable< SubDataObject >( + SubDataObject.class, this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE ); + } + return referredBySubDataObjectAsMaxIndexAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredBySubDataObjectAsMaxIndexAttribute() { + if( referredBySubDataObjectAsMaxIndexAttribute != null ) + ( ( InternalEList.Unsettable< ? > ) referredBySubDataObjectAsMaxIndexAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredBySubDataObjectAsMaxIndexAttribute() { + return referredBySubDataObjectAsMaxIndexAttribute != null + && ( ( InternalEList.Unsettable< ? > ) referredBySubDataObjectAsMaxIndexAttribute ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @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 ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredBySubDataObjectAsSizeAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredBySubDataObjectAsMaxIndexAttribute() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -1511,6 +1620,11 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib switch( featureID ) { case NsdPackage.DATA_ATTRIBUTE__CDC: return basicSetCDC( null, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredBySubDataObjectAsSizeAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredBySubDataObjectAsMaxIndexAttribute() ).basicRemove( otherEnd, + msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -1573,6 +1687,10 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return getName(); case NsdPackage.DATA_ATTRIBUTE__CDC: return getCDC(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE: + return getReferredBySubDataObjectAsSizeAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: + return getReferredBySubDataObjectAsMaxIndexAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -1582,6 +1700,7 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib * <!-- end-user-doc --> * @generated */ + @SuppressWarnings( "unchecked" ) @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { @@ -1639,6 +1758,15 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__CDC: setCDC( ( CDC ) newValue ); return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE: + getReferredBySubDataObjectAsSizeAttribute().clear(); + getReferredBySubDataObjectAsSizeAttribute().addAll( ( Collection< ? extends SubDataObject > ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: + getReferredBySubDataObjectAsMaxIndexAttribute().clear(); + getReferredBySubDataObjectAsMaxIndexAttribute() + .addAll( ( Collection< ? extends SubDataObject > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -1705,6 +1833,12 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__CDC: setCDC( ( CDC ) null ); return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE: + unsetReferredBySubDataObjectAsSizeAttribute(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: + unsetReferredBySubDataObjectAsMaxIndexAttribute(); + return; } super.eUnset( featureID ); } @@ -1753,6 +1887,10 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return isSetName(); case NsdPackage.DATA_ATTRIBUTE__CDC: return getCDC() != null; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE: + return isSetReferredBySubDataObjectAsSizeAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: + return isSetReferredBySubDataObjectAsMaxIndexAttribute(); } return super.eIsSet( featureID ); } 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 99e7c957f48da9348c9b7ac667028a997235127f..7a8fe98a51bc2c9775569c54a5278160226f2a19 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 @@ -23,10 +23,14 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgPresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgPresenceConditionDerivedStatistics; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgUnderlyingType; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AnyLNClass; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; 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 fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; + import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; @@ -56,6 +60,9 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#isTransient <em>Transient</em>}</li> * <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#getAnyLNClass <em>Any LN Class</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getRefersToCDC <em>Refers To CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl#getRefersToPresenceConditionDerivedStatistics <em>Refers To Presence Condition Derived Statistics</em>}</li> * </ul> * * @generated @@ -380,6 +387,63 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { */ protected boolean typeESet; + /** + * The cached value of the '{@link #getRefersToCDC() <em>Refers To CDC</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToCDC() + * @generated + * @ordered + */ + protected CDC refersToCDC; + + /** + * This is true if the Refers To CDC reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToCDCESet; + + /** + * The cached value of the '{@link #getRefersToPresenceCondition() <em>Refers To Presence Condition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToPresenceCondition() + * @generated + * @ordered + */ + protected PresenceCondition refersToPresenceCondition; + + /** + * This is true if the Refers To Presence Condition reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToPresenceConditionESet; + + /** + * The cached value of the '{@link #getRefersToPresenceConditionDerivedStatistics() <em>Refers To Presence Condition Derived Statistics</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToPresenceConditionDerivedStatistics() + * @generated + * @ordered + */ + protected PresenceCondition refersToPresenceConditionDerivedStatistics; + + /** + * This is true if the Refers To Presence Condition Derived Statistics reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToPresenceConditionDerivedStatisticsESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1002,6 +1066,352 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { NsdPackage.DATA_OBJECT__ANY_LN_CLASS, newAnyLNClass, newAnyLNClass ) ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CDC getRefersToCDC() { + return refersToCDC; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToCDC( CDC newRefersToCDC, NotificationChain msgs ) { + CDC oldRefersToCDC = refersToCDC; + refersToCDC = newRefersToCDC; + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__REFERS_TO_CDC, oldRefersToCDC, newRefersToCDC, !oldRefersToCDCESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToCDC( CDC newRefersToCDC ) { + if( newRefersToCDC != refersToCDC ) { + NotificationChain msgs = null; + if( refersToCDC != null ) msgs = ( ( InternalEObject ) refersToCDC ).eInverseRemove( this, + NsdPackage.CDC__REFERRED_BY_DATA_OBJECT, CDC.class, msgs ); + if( newRefersToCDC != null ) msgs = ( ( InternalEObject ) newRefersToCDC ).eInverseAdd( this, + NsdPackage.CDC__REFERRED_BY_DATA_OBJECT, CDC.class, msgs ); + msgs = basicSetRefersToCDC( newRefersToCDC, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__REFERS_TO_CDC, newRefersToCDC, newRefersToCDC, !oldRefersToCDCESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToCDC( NotificationChain msgs ) { + CDC oldRefersToCDC = refersToCDC; + refersToCDC = null; + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__REFERS_TO_CDC, oldRefersToCDC, null, oldRefersToCDCESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToCDC() { + if( refersToCDC != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToCDC ).eInverseRemove( this, NsdPackage.CDC__REFERRED_BY_DATA_OBJECT, + CDC.class, msgs ); + msgs = basicUnsetRefersToCDC( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__REFERS_TO_CDC, null, null, oldRefersToCDCESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToCDC() { + return refersToCDCESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public PresenceCondition getRefersToPresenceCondition() { + return refersToPresenceCondition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToPresenceCondition( PresenceCondition newRefersToPresenceCondition, + NotificationChain msgs ) { + PresenceCondition oldRefersToPresenceCondition = refersToPresenceCondition; + refersToPresenceCondition = newRefersToPresenceCondition; + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, oldRefersToPresenceCondition, + newRefersToPresenceCondition, !oldRefersToPresenceConditionESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToPresenceCondition( PresenceCondition newRefersToPresenceCondition ) { + if( newRefersToPresenceCondition != refersToPresenceCondition ) { + NotificationChain msgs = null; + if( refersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT, PresenceCondition.class, msgs ); + if( newRefersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) newRefersToPresenceCondition ).eInverseAdd( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT, PresenceCondition.class, msgs ); + msgs = basicSetRefersToPresenceCondition( newRefersToPresenceCondition, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, newRefersToPresenceCondition, + newRefersToPresenceCondition, !oldRefersToPresenceConditionESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToPresenceCondition( NotificationChain msgs ) { + PresenceCondition oldRefersToPresenceCondition = refersToPresenceCondition; + refersToPresenceCondition = null; + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, oldRefersToPresenceCondition, null, + oldRefersToPresenceConditionESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToPresenceCondition() { + if( refersToPresenceCondition != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT, PresenceCondition.class, msgs ); + msgs = basicUnsetRefersToPresenceCondition( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, null, null, + oldRefersToPresenceConditionESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToPresenceCondition() { + return refersToPresenceConditionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public PresenceCondition getRefersToPresenceConditionDerivedStatistics() { + return refersToPresenceConditionDerivedStatistics; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToPresenceConditionDerivedStatistics( + PresenceCondition newRefersToPresenceConditionDerivedStatistics, NotificationChain msgs ) { + PresenceCondition oldRefersToPresenceConditionDerivedStatistics = refersToPresenceConditionDerivedStatistics; + refersToPresenceConditionDerivedStatistics = newRefersToPresenceConditionDerivedStatistics; + boolean oldRefersToPresenceConditionDerivedStatisticsESet = refersToPresenceConditionDerivedStatisticsESet; + refersToPresenceConditionDerivedStatisticsESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS, + oldRefersToPresenceConditionDerivedStatistics, newRefersToPresenceConditionDerivedStatistics, + !oldRefersToPresenceConditionDerivedStatisticsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToPresenceConditionDerivedStatistics( + PresenceCondition newRefersToPresenceConditionDerivedStatistics ) { + if( newRefersToPresenceConditionDerivedStatistics != refersToPresenceConditionDerivedStatistics ) { + NotificationChain msgs = null; + if( refersToPresenceConditionDerivedStatistics != null ) + msgs = ( ( InternalEObject ) refersToPresenceConditionDerivedStatistics ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS, + PresenceCondition.class, msgs ); + if( newRefersToPresenceConditionDerivedStatistics != null ) + msgs = ( ( InternalEObject ) newRefersToPresenceConditionDerivedStatistics ).eInverseAdd( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS, + PresenceCondition.class, msgs ); + msgs = basicSetRefersToPresenceConditionDerivedStatistics( newRefersToPresenceConditionDerivedStatistics, + msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToPresenceConditionDerivedStatisticsESet = refersToPresenceConditionDerivedStatisticsESet; + refersToPresenceConditionDerivedStatisticsESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS, + newRefersToPresenceConditionDerivedStatistics, newRefersToPresenceConditionDerivedStatistics, + !oldRefersToPresenceConditionDerivedStatisticsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToPresenceConditionDerivedStatistics( NotificationChain msgs ) { + PresenceCondition oldRefersToPresenceConditionDerivedStatistics = refersToPresenceConditionDerivedStatistics; + refersToPresenceConditionDerivedStatistics = null; + boolean oldRefersToPresenceConditionDerivedStatisticsESet = refersToPresenceConditionDerivedStatisticsESet; + refersToPresenceConditionDerivedStatisticsESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS, + oldRefersToPresenceConditionDerivedStatistics, null, + oldRefersToPresenceConditionDerivedStatisticsESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToPresenceConditionDerivedStatistics() { + if( refersToPresenceConditionDerivedStatistics != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToPresenceConditionDerivedStatistics ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS, + PresenceCondition.class, msgs ); + msgs = basicUnsetRefersToPresenceConditionDerivedStatistics( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToPresenceConditionDerivedStatisticsESet = refersToPresenceConditionDerivedStatisticsESet; + refersToPresenceConditionDerivedStatisticsESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS, null, null, + oldRefersToPresenceConditionDerivedStatisticsESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToPresenceConditionDerivedStatistics() { + return refersToPresenceConditionDerivedStatisticsESet; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1013,6 +1423,21 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetAnyLNClass( ( AnyLNClass ) otherEnd, msgs ); + case NsdPackage.DATA_OBJECT__REFERS_TO_CDC: + if( refersToCDC != null ) msgs = ( ( InternalEObject ) refersToCDC ).eInverseRemove( this, + NsdPackage.CDC__REFERRED_BY_DATA_OBJECT, CDC.class, msgs ); + return basicSetRefersToCDC( ( CDC ) otherEnd, msgs ); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + if( refersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT, PresenceCondition.class, msgs ); + return basicSetRefersToPresenceCondition( ( PresenceCondition ) otherEnd, msgs ); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS: + if( refersToPresenceConditionDerivedStatistics != null ) + msgs = ( ( InternalEObject ) refersToPresenceConditionDerivedStatistics ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS, + PresenceCondition.class, msgs ); + return basicSetRefersToPresenceConditionDerivedStatistics( ( PresenceCondition ) otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -1027,6 +1452,12 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { switch( featureID ) { case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: return basicSetAnyLNClass( null, msgs ); + case NsdPackage.DATA_OBJECT__REFERS_TO_CDC: + return basicUnsetRefersToCDC( msgs ); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + return basicUnsetRefersToPresenceCondition( msgs ); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS: + return basicUnsetRefersToPresenceConditionDerivedStatistics( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -1078,6 +1509,12 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { return getType(); case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: return getAnyLNClass(); + case NsdPackage.DATA_OBJECT__REFERS_TO_CDC: + return getRefersToCDC(); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + return getRefersToPresenceCondition(); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS: + return getRefersToPresenceConditionDerivedStatistics(); } return super.eGet( featureID, resolve, coreType ); } @@ -1126,6 +1563,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: setAnyLNClass( ( AnyLNClass ) newValue ); return; + case NsdPackage.DATA_OBJECT__REFERS_TO_CDC: + setRefersToCDC( ( CDC ) newValue ); + return; + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + setRefersToPresenceCondition( ( PresenceCondition ) newValue ); + return; + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS: + setRefersToPresenceConditionDerivedStatistics( ( PresenceCondition ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -1174,6 +1620,15 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: setAnyLNClass( ( AnyLNClass ) null ); return; + case NsdPackage.DATA_OBJECT__REFERS_TO_CDC: + unsetRefersToCDC(); + return; + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + unsetRefersToPresenceCondition(); + return; + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS: + unsetRefersToPresenceConditionDerivedStatistics(); + return; } super.eUnset( featureID ); } @@ -1210,6 +1665,12 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { return isSetType(); case NsdPackage.DATA_OBJECT__ANY_LN_CLASS: return getAnyLNClass() != null; + case NsdPackage.DATA_OBJECT__REFERS_TO_CDC: + return isSetRefersToCDC(); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + return isSetRefersToPresenceCondition(); + case NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS: + return isSetRefersToPresenceConditionDerivedStatistics(); } return super.eIsSet( featureID ); } @@ -1371,4 +1832,60 @@ public class DataObjectImpl extends DocumentedClassImpl implements DataObject { return result.toString(); } + /* Implicit link + * DataObject.type -> CDC.name + * DataObject.presCond -> PresenceCondition.name + * DataObject.dsPresCond -> PresenceCondition.name + */ + @Override + public boolean buildExplicitLinks( IRiseClipseConsole console ) { + if( super.buildExplicitLinks( console ) ) return true; + + if( isSetType() ) { + setRefersToCDC( getAnyLNClass().getLNClasses().getNS().findCDC( getType(), console ) ); + if( getRefersToCDC() == null ) { + console.error( "CDC (name: " + getType() + ") refers by DataObject (name: " + getName() + ") in NS (id:" + + getAnyLNClass().getLNClasses().getNS().getId() + ") is unknown" ); + } + else { + console.info( "CDC (name: " + getType() + ") refers by DataObject (name: " + getName() + ") in NS (id:" + + getAnyLNClass().getLNClasses().getNS().getId() + ") found in NS (id:" + + getRefersToCDC().getCDCs().getNS().getId() + ")" ); + } + } + + if( isSetPresCond() ) { + setRefersToPresenceCondition( + getAnyLNClass().getLNClasses().getNS().findPresenceCondition( getPresCond(), console ) ); + if( getRefersToPresenceCondition() == null ) { + console.error( + "PresenceCondition (name: " + getPresCond() + ") refers by DataObject (name: " + getName() + + ") in NS (id:" + getAnyLNClass().getLNClasses().getNS().getId() + ") is unknown" ); + } + else { + console.info( "PresenceCondition (name: " + getPresCond() + ") refers by DataObject (name: " + getName() + + ") in NS (id:" + getAnyLNClass().getLNClasses().getNS().getId() + ") found in NS (id:" + + getRefersToPresenceCondition().getPresenceConditions().getNS().getId() + ")" ); + } + } + + if( isSetDsPresCond() ) { + setRefersToPresenceConditionDerivedStatistics( + getAnyLNClass().getLNClasses().getNS().findPresenceCondition( getDsPresCond(), console ) ); + if( getRefersToPresenceConditionDerivedStatistics() == null ) { + console.error( + "PresenceCondition (name: " + getDsPresCond() + ") refers by DataObject (name: " + getName() + + ") in NS (id:" + getAnyLNClass().getLNClasses().getNS().getId() + ") is unknown" ); + } + else { + console.info( "PresenceCondition (name: " + getDsPresCond() + ") refers by DataObject (name: " + + getName() + ") in NS (id:" + getAnyLNClass().getLNClasses().getNS().getId() + + ") found in NS (id:" + + getRefersToPresenceConditionDerivedStatistics().getPresenceConditions().getNS().getId() + + ")" ); + } + } + return false; + } + } //DataObjectImpl diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java index 0a4650b0f9da163ab9db5a3464d9fa1aea11c507..b3ca77128083d6d80e2294972ce7a78488ec54e5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/DependsOnImpl.java @@ -888,8 +888,8 @@ public class DependsOnImpl extends NsdObjectImpl implements DependsOn { * DependsOn.id -> NS.id */ @Override - public void buildExplicitLinks( IRiseClipseConsole console ) { - super.buildExplicitLinks( console ); + public boolean buildExplicitLinks( IRiseClipseConsole console ) { + if( super.buildExplicitLinks( console ) ) return true; NsdResourceSetImpl resourceSet = ( NsdResourceSetImpl ) eResource().getResourceSet(); setRefersToNS( resourceSet.getNS( getId() ) ); @@ -900,6 +900,7 @@ public class DependsOnImpl extends NsdObjectImpl implements DependsOn { else { console.info( "NS (id: " + getId() + ") and refers by DependsOn in NS (id:" + getNS().getId() + ") found" ); } + return false; } } //DependsOnImpl 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 ad36eb805bf359103ecadc9668a84908d14ab27a..5e376c20a00d1ffd1ba9173d2226c4a044ffcd10 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,6 +24,7 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgNSIdentification; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgNSdesc; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgUML; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.BasicTypes; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDCs; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; @@ -33,8 +34,11 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints; 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 fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PubStage; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; +import java.lang.reflect.InvocationTargetException; import java.util.Collection; import javax.xml.datatype.XMLGregorianCalendar; @@ -1655,6 +1659,48 @@ public class NSImpl extends CopyrightedImpl implements NS { return referredByDependsOn != null && ( ( InternalEList.Unsettable< ? > ) referredByDependsOn ).isSet(); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + @Override + public CDC findCDC( String cDCName, IRiseClipseConsole console ) { + if( cDCsESet ) { + CDC found = getCDCs().getCDC().stream().filter( cdc -> cdc.getName().equals( cDCName ) ).findAny() + .orElse( null ); + if( found != null ) return found; + } + + if( dependsOnESet ) { + getDependsOn().buildExplicitLinks( console ); + return getDependsOn().getRefersToNS().findCDC( cDCName, console ); + } + + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + @Override + public PresenceCondition findPresenceCondition( String presenceConditionName, IRiseClipseConsole console ) { + if( presenceConditionsESet ) { + PresenceCondition found = getPresenceConditions().getPresenceCondition().stream() + .filter( cond -> cond.getName().equals( presenceConditionName ) ).findAny().orElse( null ); + if( found != null ) return found; + } + + if( dependsOnESet ) { + getDependsOn().buildExplicitLinks( console ); + return getDependsOn().getRefersToNS().findPresenceCondition( presenceConditionName, console ); + } + + return null; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2474,6 +2520,22 @@ public class NSImpl extends CopyrightedImpl implements NS { return super.eDerivedStructuralFeatureID( baseFeatureID, baseClass ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eInvoke( int operationID, EList< ? > arguments ) throws InvocationTargetException { + switch( operationID ) { + case NsdPackage.NS___FIND_CDC__STRING_IRISECLIPSECONSOLE: + return findCDC( ( String ) arguments.get( 0 ), ( IRiseClipseConsole ) arguments.get( 1 ) ); + case NsdPackage.NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE: + return findPresenceCondition( ( String ) arguments.get( 0 ), ( IRiseClipseConsole ) arguments.get( 1 ) ); + } + return super.eInvoke( operationID, arguments ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java index 1fd5f9c579549c4d8b264534144bc9c513576b27..5e5b949d2fcb212925014fa9df4af167931b2bfb 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/NsdObjectImpl.java @@ -41,6 +41,7 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; * </p> * <ul> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdObjectImpl#getLineNumber <em>Line Number</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.NsdObjectImpl#isExplicitLinksBuilt <em>Explicit Links Built</em>}</li> * </ul> * * @generated @@ -65,6 +66,25 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme */ protected int lineNumber = LINE_NUMBER_EDEFAULT; + /** + * The default value of the '{@link #isExplicitLinksBuilt() <em>Explicit Links Built</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExplicitLinksBuilt() + * @generated + * @ordered + */ + protected static final boolean EXPLICIT_LINKS_BUILT_EDEFAULT = false; + /** + * The cached value of the '{@link #isExplicitLinksBuilt() <em>Explicit Links Built</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isExplicitLinksBuilt() + * @generated + * @ordered + */ + protected boolean explicitLinksBuilt = EXPLICIT_LINKS_BUILT_EDEFAULT; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -110,10 +130,36 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme /** * <!-- begin-user-doc --> * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isExplicitLinksBuilt() { + return explicitLinksBuilt; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setExplicitLinksBuilt( boolean newExplicitLinksBuilt ) { + boolean oldExplicitLinksBuilt = explicitLinksBuilt; + explicitLinksBuilt = newExplicitLinksBuilt; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.NSD_OBJECT__EXPLICIT_LINKS_BUILT, oldExplicitLinksBuilt, explicitLinksBuilt ) ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return true if explicit links were already built, false otherwise * @generated NOT */ @Override - public void buildExplicitLinks( IRiseClipseConsole console ) { + public boolean buildExplicitLinks( IRiseClipseConsole console ) { + if( isExplicitLinksBuilt() ) return true; + TreeIterator< EObject > it = eAllContents(); while( it.hasNext() ) { EObject o = it.next(); @@ -121,7 +167,9 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme ( ( NsdObject ) o ).buildExplicitLinks( console ); } } - return; + + setExplicitLinksBuilt( true ); + return false; } /** @@ -134,6 +182,8 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme switch( featureID ) { case NsdPackage.NSD_OBJECT__LINE_NUMBER: return getLineNumber(); + case NsdPackage.NSD_OBJECT__EXPLICIT_LINKS_BUILT: + return isExplicitLinksBuilt(); } return super.eGet( featureID, resolve, coreType ); } @@ -149,6 +199,9 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme case NsdPackage.NSD_OBJECT__LINE_NUMBER: setLineNumber( ( Integer ) newValue ); return; + case NsdPackage.NSD_OBJECT__EXPLICIT_LINKS_BUILT: + setExplicitLinksBuilt( ( Boolean ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -164,6 +217,9 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme case NsdPackage.NSD_OBJECT__LINE_NUMBER: setLineNumber( LINE_NUMBER_EDEFAULT ); return; + case NsdPackage.NSD_OBJECT__EXPLICIT_LINKS_BUILT: + setExplicitLinksBuilt( EXPLICIT_LINKS_BUILT_EDEFAULT ); + return; } super.eUnset( featureID ); } @@ -178,6 +234,8 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme switch( featureID ) { case NsdPackage.NSD_OBJECT__LINE_NUMBER: return lineNumber != LINE_NUMBER_EDEFAULT; + case NsdPackage.NSD_OBJECT__EXPLICIT_LINKS_BUILT: + return explicitLinksBuilt != EXPLICIT_LINKS_BUILT_EDEFAULT; } return super.eIsSet( featureID ); } @@ -191,8 +249,7 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme public Object eInvoke( int operationID, EList< ? > arguments ) throws InvocationTargetException { switch( operationID ) { case NsdPackage.NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE: - buildExplicitLinks( ( IRiseClipseConsole ) arguments.get( 0 ) ); - return null; + return buildExplicitLinks( ( IRiseClipseConsole ) arguments.get( 0 ) ); } return super.eInvoke( operationID, arguments ); } @@ -209,6 +266,8 @@ public abstract class NsdObjectImpl extends MinimalEObjectImpl.Container impleme StringBuilder result = new StringBuilder( super.toString() ); result.append( " (lineNumber: " ); result.append( lineNumber ); + result.append( ", explicitLinksBuilt: " ); + result.append( explicitLinksBuilt ); result.append( ')' ); return result.toString(); } 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 86de77af68e5fe3bb6af809332a9f4db13a8b17f..ccb6af2bec69199283a35bfaf7a6f6436bc4786c 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 @@ -1033,6 +1033,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return anyLNClassEClass.getEOperations().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getAnyLNClass__GetLNClasses() { + return anyLNClassEClass.getEOperations().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1283,6 +1293,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) cdcEClass.getEStructuralFeatures().get( 8 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getCDC_ReferredByDataObject() { + return ( EReference ) cdcEClass.getEStructuralFeatures().get( 9 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getCDC_ReferredBySubDataObject() { + return ( EReference ) cdcEClass.getEStructuralFeatures().get( 10 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1583,6 +1613,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 2 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_ReferredBySubDataObjectAsSizeAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 3 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 4 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1633,6 +1683,36 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) dataObjectEClass.getEStructuralFeatures().get( 3 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataObject_RefersToCDC() { + return ( EReference ) dataObjectEClass.getEStructuralFeatures().get( 4 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataObject_RefersToPresenceCondition() { + return ( EReference ) dataObjectEClass.getEStructuralFeatures().get( 5 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataObject_RefersToPresenceConditionDerivedStatistics() { + return ( EReference ) dataObjectEClass.getEStructuralFeatures().get( 6 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2273,6 +2353,26 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) nsEClass.getEStructuralFeatures().get( 10 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getNS__FindCDC__String_IRiseClipseConsole() { + return nsEClass.getEOperations().get( 0 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getNS__FindPresenceCondition__String_IRiseClipseConsole() { + return nsEClass.getEOperations().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2363,6 +2463,36 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 4 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceCondition_ReferredByDataObject() { + return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 5 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceCondition_ReferredByDataObjectForDerivedStatistics() { + return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 6 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceCondition_ReferredBySubDataObject() { + return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 7 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2823,6 +2953,46 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) subDataObjectEClass.getEStructuralFeatures().get( 2 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getSubDataObject_RefersToCDC() { + return ( EReference ) subDataObjectEClass.getEStructuralFeatures().get( 3 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getSubDataObject_RefersToPresenceCondition() { + return ( EReference ) subDataObjectEClass.getEStructuralFeatures().get( 4 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getSubDataObject_RefersToSizeAttribute() { + return ( EReference ) subDataObjectEClass.getEStructuralFeatures().get( 5 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getSubDataObject_RefersToMaxIndexAttribute() { + return ( EReference ) subDataObjectEClass.getEStructuralFeatures().get( 6 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2863,6 +3033,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EAttribute ) nsdObjectEClass.getEStructuralFeatures().get( 0 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getNsdObject_ExplicitLinksBuilt() { + return ( EAttribute ) nsdObjectEClass.getEStructuralFeatures().get( 1 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3462,6 +3642,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( anyLNClassEClass, ANY_LN_CLASS__BASE ); createEReference( anyLNClassEClass, ANY_LN_CLASS__REFERS_TO_ABSTRACT_LN_CLASS ); createEOperation( anyLNClassEClass, ANY_LN_CLASS___GET_NAME ); + createEOperation( anyLNClassEClass, ANY_LN_CLASS___GET_LN_CLASSES ); applicableServiceNSEClass = createEClass( APPLICABLE_SERVICE_NS ); createEReference( applicableServiceNSEClass, APPLICABLE_SERVICE_NS__SERVICE_NS_USAGE ); @@ -3492,6 +3673,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( cdcEClass, CDC__TYPE_KIND_PARAMETERIZED ); createEAttribute( cdcEClass, CDC__VARIANT ); createEReference( cdcEClass, CDC__CD_CS ); + createEReference( cdcEClass, CDC__REFERRED_BY_DATA_OBJECT ); + createEReference( cdcEClass, CDC__REFERRED_BY_SUB_DATA_OBJECT ); cdCsEClass = createEClass( CD_CS ); createEReference( cdCsEClass, CD_CS__CDC ); @@ -3529,12 +3712,17 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( dataAttributeEClass, DATA_ATTRIBUTE__FC ); createEAttribute( dataAttributeEClass, DATA_ATTRIBUTE__NAME ); createEReference( dataAttributeEClass, DATA_ATTRIBUTE__CDC ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE ); dataObjectEClass = createEClass( DATA_OBJECT ); createEAttribute( dataObjectEClass, DATA_OBJECT__NAME ); createEAttribute( dataObjectEClass, DATA_OBJECT__TRANSIENT ); createEAttribute( dataObjectEClass, DATA_OBJECT__TYPE ); createEReference( dataObjectEClass, DATA_OBJECT__ANY_LN_CLASS ); + createEReference( dataObjectEClass, DATA_OBJECT__REFERS_TO_CDC ); + createEReference( dataObjectEClass, DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION ); + createEReference( dataObjectEClass, DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS ); dataSetMemberOfEClass = createEClass( DATA_SET_MEMBER_OF ); createEAttribute( dataSetMemberOfEClass, DATA_SET_MEMBER_OF__CB ); @@ -3612,6 +3800,8 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEReference( nsEClass, NS__CD_CS ); createEReference( nsEClass, NS__LN_CLASSES ); createEReference( nsEClass, NS__REFERRED_BY_DEPENDS_ON ); + createEOperation( nsEClass, NS___FIND_CDC__STRING_IRISECLIPSECONSOLE ); + createEOperation( nsEClass, NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE ); nsDocEClass = createEClass( NS_DOC ); createEReference( nsDocEClass, NS_DOC__DOC ); @@ -3623,6 +3813,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( presenceConditionEClass, PRESENCE_CONDITION__NAME ); createEAttribute( presenceConditionEClass, PRESENCE_CONDITION__TITLE_ID ); createEReference( presenceConditionEClass, PRESENCE_CONDITION__PRESENCE_CONDITIONS ); + createEReference( presenceConditionEClass, PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT ); + createEReference( presenceConditionEClass, PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS ); + createEReference( presenceConditionEClass, PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT ); presenceConditionsEClass = createEClass( PRESENCE_CONDITIONS ); createEReference( presenceConditionsEClass, PRESENCE_CONDITIONS__PRESENCE_CONDITION ); @@ -3683,12 +3876,17 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( subDataObjectEClass, SUB_DATA_OBJECT__NAME ); createEAttribute( subDataObjectEClass, SUB_DATA_OBJECT__TYPE ); createEReference( subDataObjectEClass, SUB_DATA_OBJECT__CDC ); + createEReference( subDataObjectEClass, SUB_DATA_OBJECT__REFERS_TO_CDC ); + createEReference( subDataObjectEClass, SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION ); + createEReference( subDataObjectEClass, SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE ); + createEReference( subDataObjectEClass, SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE ); titledClassEClass = createEClass( TITLED_CLASS ); createEAttribute( titledClassEClass, TITLED_CLASS__TITLE_ID ); nsdObjectEClass = createEClass( NSD_OBJECT ); createEAttribute( nsdObjectEClass, NSD_OBJECT__LINE_NUMBER ); + createEAttribute( nsdObjectEClass, NSD_OBJECT__EXPLICIT_LINKS_BUILT ); createEOperation( nsdObjectEClass, NSD_OBJECT___BUILD_EXPLICIT_LINKS__IRISECLIPSECONSOLE ); agNSIdentificationEClass = createEClass( AG_NS_IDENTIFICATION ); @@ -3969,6 +4167,9 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { initEOperation( getAnyLNClass__GetName(), theXMLTypePackage.getString(), "getName", 0, 1, IS_UNIQUE, IS_ORDERED ); + initEOperation( getAnyLNClass__GetLNClasses(), this.getLNClasses(), "getLNClasses", 0, 1, IS_UNIQUE, + IS_ORDERED ); + initEClass( applicableServiceNSEClass, ApplicableServiceNS.class, "ApplicableServiceNS", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); initEReference( getApplicableServiceNS_ServiceNsUsage(), this.getServiceNsUsage(), @@ -4046,6 +4247,14 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getCDC_ReferredByDataObject(), this.getDataObject(), this.getDataObject_RefersToCDC(), + "referredByDataObject", 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_ReferredBySubDataObject(), this.getSubDataObject(), this.getSubDataObject_RefersToCDC(), + "referredBySubDataObject", 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(), this.getCDC_CDCs(), "cDC", null, 0, -1, CDCs.class, !IS_TRANSIENT, @@ -4130,6 +4339,14 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getDataAttribute_ReferredBySubDataObjectAsSizeAttribute(), this.getSubDataObject(), + this.getSubDataObject_RefersToSizeAttribute(), "referredBySubDataObjectAsSizeAttribute", null, 0, -1, + DataAttribute.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute(), this.getSubDataObject(), + this.getSubDataObject_RefersToMaxIndexAttribute(), "referredBySubDataObjectAsMaxIndexAttribute", 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 ); @@ -4143,6 +4360,17 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getDataObject_RefersToCDC(), this.getCDC(), this.getCDC_ReferredByDataObject(), "refersToCDC", + null, 0, 1, DataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getDataObject_RefersToPresenceCondition(), this.getPresenceCondition(), + this.getPresenceCondition_ReferredByDataObject(), "refersToPresenceCondition", null, 0, 1, + DataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getDataObject_RefersToPresenceConditionDerivedStatistics(), this.getPresenceCondition(), + this.getPresenceCondition_ReferredByDataObjectForDerivedStatistics(), + "refersToPresenceConditionDerivedStatistics", 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 ); @@ -4330,6 +4558,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + EOperation op = initEOperation( getNS__FindCDC__String_IRiseClipseConsole(), this.getCDC(), "findCDC", 0, 1, + IS_UNIQUE, IS_ORDERED ); + addEParameter( op, ecorePackage.getEString(), "cDCName", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); + + op = initEOperation( getNS__FindPresenceCondition__String_IRiseClipseConsole(), this.getPresenceCondition(), + "findPresenceCondition", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, ecorePackage.getEString(), "presenceConditionName", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); + initEClass( nsDocEClass, NSDoc.class, "NSDoc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); 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, @@ -4355,6 +4593,19 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getPresenceCondition_ReferredByDataObject(), this.getDataObject(), + this.getDataObject_RefersToPresenceCondition(), "referredByDataObject", null, 0, -1, + PresenceCondition.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getPresenceCondition_ReferredByDataObjectForDerivedStatistics(), this.getDataObject(), + this.getDataObject_RefersToPresenceConditionDerivedStatistics(), + "referredByDataObjectForDerivedStatistics", null, 0, -1, PresenceCondition.class, IS_TRANSIENT, + !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, + !IS_ORDERED ); + initEReference( getPresenceCondition_ReferredBySubDataObject(), this.getSubDataObject(), + this.getSubDataObject_RefersToPresenceCondition(), "referredBySubDataObject", 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 ); @@ -4505,6 +4756,21 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getSubDataObject_RefersToCDC(), this.getCDC(), this.getCDC_ReferredBySubDataObject(), + "refersToCDC", null, 0, 1, SubDataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, + !IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getSubDataObject_RefersToPresenceCondition(), this.getPresenceCondition(), + this.getPresenceCondition_ReferredBySubDataObject(), "refersToPresenceCondition", null, 0, 1, + SubDataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getSubDataObject_RefersToSizeAttribute(), this.getDataAttribute(), + this.getDataAttribute_ReferredBySubDataObjectAsSizeAttribute(), "refersToSizeAttribute", null, 0, 1, + SubDataObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, + IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getSubDataObject_RefersToMaxIndexAttribute(), this.getDataAttribute(), + this.getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute(), "refersToMaxIndexAttribute", 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 ); @@ -4515,8 +4781,11 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { IS_GENERATED_INSTANCE_CLASS ); initEAttribute( getNsdObject_LineNumber(), ecorePackage.getEInt(), "lineNumber", "-1", 1, 1, NsdObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED ); + initEAttribute( getNsdObject_ExplicitLinksBuilt(), ecorePackage.getEBoolean(), "explicitLinksBuilt", "false", 1, + 1, NsdObject.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, + !IS_DERIVED, IS_ORDERED ); - EOperation op = initEOperation( getNsdObject__BuildExplicitLinks__IRiseClipseConsole(), null, + op = initEOperation( getNsdObject__BuildExplicitLinks__IRiseClipseConsole(), ecorePackage.getEBoolean(), "buildExplicitLinks", 0, 1, IS_UNIQUE, IS_ORDERED ); addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); 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 95f7a694682e362d0e8d59ba29e261de0eac9e85..4bafb3a2f77aa1d559a40c466376c60c25960df4 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 @@ -19,18 +19,24 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject; 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.SubDataObject; +import java.util.Collection; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.util.EObjectWithInverseEList; import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.util.InternalEList; /** * <!-- begin-user-doc --> @@ -45,6 +51,9 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getReferredByDataObject <em>Referred By Data Object</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getReferredByDataObjectForDerivedStatistics <em>Referred By Data Object For Derived Statistics</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getReferredBySubDataObject <em>Referred By Sub Data Object</em>}</li> * </ul> * * @generated @@ -166,6 +175,36 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond */ protected boolean titleIDESet; + /** + * The cached value of the '{@link #getReferredByDataObject() <em>Referred By Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataObject() + * @generated + * @ordered + */ + protected EList< DataObject > referredByDataObject; + + /** + * The cached value of the '{@link #getReferredByDataObjectForDerivedStatistics() <em>Referred By Data Object For Derived Statistics</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataObjectForDerivedStatistics() + * @generated + * @ordered + */ + protected EList< DataObject > referredByDataObjectForDerivedStatistics; + + /** + * The cached value of the '{@link #getReferredBySubDataObject() <em>Referred By Sub Data Object</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredBySubDataObject() + * @generated + * @ordered + */ + protected EList< SubDataObject > referredBySubDataObject; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -437,11 +476,129 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond * @generated */ @Override + public EList< DataObject > getReferredByDataObject() { + if( referredByDataObject == null ) { + referredByDataObject = new EObjectWithInverseEList.Unsettable< DataObject >( DataObject.class, this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION ); + } + return referredByDataObject; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataObject() { + if( referredByDataObject != null ) ( ( InternalEList.Unsettable< ? > ) referredByDataObject ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataObject() { + return referredByDataObject != null && ( ( InternalEList.Unsettable< ? > ) referredByDataObject ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DataObject > getReferredByDataObjectForDerivedStatistics() { + if( referredByDataObjectForDerivedStatistics == null ) { + referredByDataObjectForDerivedStatistics = new EObjectWithInverseEList.Unsettable< DataObject >( + DataObject.class, this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS, + NsdPackage.DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION_DERIVED_STATISTICS ); + } + return referredByDataObjectForDerivedStatistics; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataObjectForDerivedStatistics() { + if( referredByDataObjectForDerivedStatistics != null ) + ( ( InternalEList.Unsettable< ? > ) referredByDataObjectForDerivedStatistics ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataObjectForDerivedStatistics() { + return referredByDataObjectForDerivedStatistics != null + && ( ( InternalEList.Unsettable< ? > ) referredByDataObjectForDerivedStatistics ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< SubDataObject > getReferredBySubDataObject() { + if( referredBySubDataObject == null ) { + referredBySubDataObject = new EObjectWithInverseEList.Unsettable< SubDataObject >( SubDataObject.class, + this, NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION ); + } + return referredBySubDataObject; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredBySubDataObject() { + if( referredBySubDataObject != null ) ( ( InternalEList.Unsettable< ? > ) referredBySubDataObject ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredBySubDataObject() { + return referredBySubDataObject != null && ( ( InternalEList.Unsettable< ? > ) referredBySubDataObject ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @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 ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataObject() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataObjectForDerivedStatistics() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredBySubDataObject() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -456,6 +613,13 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond switch( featureID ) { case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: return basicSetPresenceConditions( null, msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT: + return ( ( InternalEList< ? > ) getReferredByDataObject() ).basicRemove( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS: + return ( ( InternalEList< ? > ) getReferredByDataObjectForDerivedStatistics() ).basicRemove( otherEnd, + msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: + return ( ( InternalEList< ? > ) getReferredBySubDataObject() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -493,6 +657,12 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond return getTitleID(); case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: return getPresenceConditions(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT: + return getReferredByDataObject(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS: + return getReferredByDataObjectForDerivedStatistics(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: + return getReferredBySubDataObject(); } return super.eGet( featureID, resolve, coreType ); } @@ -502,6 +672,7 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond * <!-- end-user-doc --> * @generated */ + @SuppressWarnings( "unchecked" ) @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { @@ -520,6 +691,18 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: setPresenceConditions( ( PresenceConditions ) newValue ); return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT: + getReferredByDataObject().clear(); + getReferredByDataObject().addAll( ( Collection< ? extends DataObject > ) newValue ); + return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS: + getReferredByDataObjectForDerivedStatistics().clear(); + getReferredByDataObjectForDerivedStatistics().addAll( ( Collection< ? extends DataObject > ) newValue ); + return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: + getReferredBySubDataObject().clear(); + getReferredBySubDataObject().addAll( ( Collection< ? extends SubDataObject > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -547,6 +730,15 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: setPresenceConditions( ( PresenceConditions ) null ); return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT: + unsetReferredByDataObject(); + return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS: + unsetReferredByDataObjectForDerivedStatistics(); + return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: + unsetReferredBySubDataObject(); + return; } super.eUnset( featureID ); } @@ -569,6 +761,12 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond return isSetTitleID(); case NsdPackage.PRESENCE_CONDITION__PRESENCE_CONDITIONS: return getPresenceConditions() != null; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT: + return isSetReferredByDataObject(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_OBJECT_FOR_DERIVED_STATISTICS: + return isSetReferredByDataObjectForDerivedStatistics(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: + return isSetReferredBySubDataObject(); } return super.eIsSet( featureID ); } 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 6efb6ba919884dff9ac3f4ab9546de1066bb3d1d..9916873370115266744d70b4fa6ca14d385f1c70 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 @@ -23,9 +23,12 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgArray; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgPresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgUnderlyingType; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DefinedAttributeTypeKind; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataObject; +import fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole; import org.eclipse.emf.common.notify.Notification; @@ -56,6 +59,10 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getName <em>Name</em>}</li> * <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#getCDC <em>CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getRefersToCDC <em>Refers To CDC</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.SubDataObjectImpl#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}</li> * </ul> * * @generated @@ -380,6 +387,82 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj */ protected boolean typeESet; + /** + * The cached value of the '{@link #getRefersToCDC() <em>Refers To CDC</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToCDC() + * @generated + * @ordered + */ + protected CDC refersToCDC; + + /** + * This is true if the Refers To CDC reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToCDCESet; + + /** + * The cached value of the '{@link #getRefersToPresenceCondition() <em>Refers To Presence Condition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToPresenceCondition() + * @generated + * @ordered + */ + protected PresenceCondition refersToPresenceCondition; + + /** + * This is true if the Refers To Presence Condition reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToPresenceConditionESet; + + /** + * The cached value of the '{@link #getRefersToSizeAttribute() <em>Refers To Size Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToSizeAttribute() + * @generated + * @ordered + */ + protected DataAttribute refersToSizeAttribute; + + /** + * This is true if the Refers To Size Attribute reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToSizeAttributeESet; + + /** + * The cached value of the '{@link #getRefersToMaxIndexAttribute() <em>Refers To Max Index Attribute</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToMaxIndexAttribute() + * @generated + * @ordered + */ + protected DataAttribute refersToMaxIndexAttribute; + + /** + * This is true if the Refers To Max Index Attribute reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToMaxIndexAttributeESet; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1002,6 +1085,464 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj eNotify( new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__CDC, newCDC, newCDC ) ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CDC getRefersToCDC() { + return refersToCDC; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToCDC( CDC newRefersToCDC, NotificationChain msgs ) { + CDC oldRefersToCDC = refersToCDC; + refersToCDC = newRefersToCDC; + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC, oldRefersToCDC, newRefersToCDC, !oldRefersToCDCESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToCDC( CDC newRefersToCDC ) { + if( newRefersToCDC != refersToCDC ) { + NotificationChain msgs = null; + if( refersToCDC != null ) msgs = ( ( InternalEObject ) refersToCDC ).eInverseRemove( this, + NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT, CDC.class, msgs ); + if( newRefersToCDC != null ) msgs = ( ( InternalEObject ) newRefersToCDC ).eInverseAdd( this, + NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT, CDC.class, msgs ); + msgs = basicSetRefersToCDC( newRefersToCDC, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC, newRefersToCDC, newRefersToCDC, !oldRefersToCDCESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToCDC( NotificationChain msgs ) { + CDC oldRefersToCDC = refersToCDC; + refersToCDC = null; + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC, oldRefersToCDC, null, oldRefersToCDCESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToCDC() { + if( refersToCDC != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToCDC ).eInverseRemove( this, + NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT, CDC.class, msgs ); + msgs = basicUnsetRefersToCDC( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToCDCESet = refersToCDCESet; + refersToCDCESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC, null, null, oldRefersToCDCESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToCDC() { + return refersToCDCESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public PresenceCondition getRefersToPresenceCondition() { + return refersToPresenceCondition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToPresenceCondition( PresenceCondition newRefersToPresenceCondition, + NotificationChain msgs ) { + PresenceCondition oldRefersToPresenceCondition = refersToPresenceCondition; + refersToPresenceCondition = newRefersToPresenceCondition; + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, oldRefersToPresenceCondition, + newRefersToPresenceCondition, !oldRefersToPresenceConditionESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToPresenceCondition( PresenceCondition newRefersToPresenceCondition ) { + if( newRefersToPresenceCondition != refersToPresenceCondition ) { + NotificationChain msgs = null; + if( refersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT, PresenceCondition.class, msgs ); + if( newRefersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) newRefersToPresenceCondition ).eInverseAdd( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT, PresenceCondition.class, msgs ); + msgs = basicSetRefersToPresenceCondition( newRefersToPresenceCondition, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, newRefersToPresenceCondition, + newRefersToPresenceCondition, !oldRefersToPresenceConditionESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToPresenceCondition( NotificationChain msgs ) { + PresenceCondition oldRefersToPresenceCondition = refersToPresenceCondition; + refersToPresenceCondition = null; + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, oldRefersToPresenceCondition, null, + oldRefersToPresenceConditionESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToPresenceCondition() { + if( refersToPresenceCondition != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT, PresenceCondition.class, msgs ); + msgs = basicUnsetRefersToPresenceCondition( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToPresenceConditionESet = refersToPresenceConditionESet; + refersToPresenceConditionESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION, null, null, + oldRefersToPresenceConditionESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToPresenceCondition() { + return refersToPresenceConditionESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public DataAttribute getRefersToSizeAttribute() { + return refersToSizeAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToSizeAttribute( DataAttribute newRefersToSizeAttribute, + NotificationChain msgs ) { + DataAttribute oldRefersToSizeAttribute = refersToSizeAttribute; + refersToSizeAttribute = newRefersToSizeAttribute; + boolean oldRefersToSizeAttributeESet = refersToSizeAttributeESet; + refersToSizeAttributeESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE, oldRefersToSizeAttribute, + newRefersToSizeAttribute, !oldRefersToSizeAttributeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToSizeAttribute( DataAttribute newRefersToSizeAttribute ) { + if( newRefersToSizeAttribute != refersToSizeAttribute ) { + NotificationChain msgs = null; + if( refersToSizeAttribute != null ) + msgs = ( ( InternalEObject ) refersToSizeAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE, DataAttribute.class, + msgs ); + if( newRefersToSizeAttribute != null ) + msgs = ( ( InternalEObject ) newRefersToSizeAttribute ).eInverseAdd( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE, DataAttribute.class, + msgs ); + msgs = basicSetRefersToSizeAttribute( newRefersToSizeAttribute, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToSizeAttributeESet = refersToSizeAttributeESet; + refersToSizeAttributeESet = true; + if( eNotificationRequired() ) eNotify( + new ENotificationImpl( this, Notification.SET, NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE, + newRefersToSizeAttribute, newRefersToSizeAttribute, !oldRefersToSizeAttributeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToSizeAttribute( NotificationChain msgs ) { + DataAttribute oldRefersToSizeAttribute = refersToSizeAttribute; + refersToSizeAttribute = null; + boolean oldRefersToSizeAttributeESet = refersToSizeAttributeESet; + refersToSizeAttributeESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE, oldRefersToSizeAttribute, null, + oldRefersToSizeAttributeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToSizeAttribute() { + if( refersToSizeAttribute != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToSizeAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE, DataAttribute.class, + msgs ); + msgs = basicUnsetRefersToSizeAttribute( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToSizeAttributeESet = refersToSizeAttributeESet; + refersToSizeAttributeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE, null, null, oldRefersToSizeAttributeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToSizeAttribute() { + return refersToSizeAttributeESet; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public DataAttribute getRefersToMaxIndexAttribute() { + return refersToMaxIndexAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToMaxIndexAttribute( DataAttribute newRefersToMaxIndexAttribute, + NotificationChain msgs ) { + DataAttribute oldRefersToMaxIndexAttribute = refersToMaxIndexAttribute; + refersToMaxIndexAttribute = newRefersToMaxIndexAttribute; + boolean oldRefersToMaxIndexAttributeESet = refersToMaxIndexAttributeESet; + refersToMaxIndexAttributeESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE, oldRefersToMaxIndexAttribute, + newRefersToMaxIndexAttribute, !oldRefersToMaxIndexAttributeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToMaxIndexAttribute( DataAttribute newRefersToMaxIndexAttribute ) { + if( newRefersToMaxIndexAttribute != refersToMaxIndexAttribute ) { + NotificationChain msgs = null; + if( refersToMaxIndexAttribute != null ) + msgs = ( ( InternalEObject ) refersToMaxIndexAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE, + DataAttribute.class, msgs ); + if( newRefersToMaxIndexAttribute != null ) + msgs = ( ( InternalEObject ) newRefersToMaxIndexAttribute ).eInverseAdd( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE, + DataAttribute.class, msgs ); + msgs = basicSetRefersToMaxIndexAttribute( newRefersToMaxIndexAttribute, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToMaxIndexAttributeESet = refersToMaxIndexAttributeESet; + refersToMaxIndexAttributeESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE, newRefersToMaxIndexAttribute, + newRefersToMaxIndexAttribute, !oldRefersToMaxIndexAttributeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToMaxIndexAttribute( NotificationChain msgs ) { + DataAttribute oldRefersToMaxIndexAttribute = refersToMaxIndexAttribute; + refersToMaxIndexAttribute = null; + boolean oldRefersToMaxIndexAttributeESet = refersToMaxIndexAttributeESet; + refersToMaxIndexAttributeESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE, oldRefersToMaxIndexAttribute, null, + oldRefersToMaxIndexAttributeESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToMaxIndexAttribute() { + if( refersToMaxIndexAttribute != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToMaxIndexAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE, DataAttribute.class, + msgs ); + msgs = basicUnsetRefersToMaxIndexAttribute( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToMaxIndexAttributeESet = refersToMaxIndexAttributeESet; + refersToMaxIndexAttributeESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE, null, null, + oldRefersToMaxIndexAttributeESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToMaxIndexAttribute() { + return refersToMaxIndexAttributeESet; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1013,6 +1554,27 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj case NsdPackage.SUB_DATA_OBJECT__CDC: if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetCDC( ( CDC ) otherEnd, msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC: + if( refersToCDC != null ) msgs = ( ( InternalEObject ) refersToCDC ).eInverseRemove( this, + NsdPackage.CDC__REFERRED_BY_SUB_DATA_OBJECT, CDC.class, msgs ); + return basicSetRefersToCDC( ( CDC ) otherEnd, msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + if( refersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT, PresenceCondition.class, msgs ); + return basicSetRefersToPresenceCondition( ( PresenceCondition ) otherEnd, msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE: + if( refersToSizeAttribute != null ) + msgs = ( ( InternalEObject ) refersToSizeAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_SIZE_ATTRIBUTE, DataAttribute.class, + msgs ); + return basicSetRefersToSizeAttribute( ( DataAttribute ) otherEnd, msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE: + if( refersToMaxIndexAttribute != null ) + msgs = ( ( InternalEObject ) refersToMaxIndexAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE, + DataAttribute.class, msgs ); + return basicSetRefersToMaxIndexAttribute( ( DataAttribute ) otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -1027,6 +1589,14 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj switch( featureID ) { case NsdPackage.SUB_DATA_OBJECT__CDC: return basicSetCDC( null, msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC: + return basicUnsetRefersToCDC( msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + return basicUnsetRefersToPresenceCondition( msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE: + return basicUnsetRefersToSizeAttribute( msgs ); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE: + return basicUnsetRefersToMaxIndexAttribute( msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -1077,6 +1647,14 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj return getType(); case NsdPackage.SUB_DATA_OBJECT__CDC: return getCDC(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC: + return getRefersToCDC(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + return getRefersToPresenceCondition(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE: + return getRefersToSizeAttribute(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE: + return getRefersToMaxIndexAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -1125,6 +1703,18 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj case NsdPackage.SUB_DATA_OBJECT__CDC: setCDC( ( CDC ) newValue ); return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC: + setRefersToCDC( ( CDC ) newValue ); + return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + setRefersToPresenceCondition( ( PresenceCondition ) newValue ); + return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE: + setRefersToSizeAttribute( ( DataAttribute ) newValue ); + return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE: + setRefersToMaxIndexAttribute( ( DataAttribute ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -1173,6 +1763,18 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj case NsdPackage.SUB_DATA_OBJECT__CDC: setCDC( ( CDC ) null ); return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC: + unsetRefersToCDC(); + return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + unsetRefersToPresenceCondition(); + return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE: + unsetRefersToSizeAttribute(); + return; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE: + unsetRefersToMaxIndexAttribute(); + return; } super.eUnset( featureID ); } @@ -1209,6 +1811,14 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj return isSetType(); case NsdPackage.SUB_DATA_OBJECT__CDC: return getCDC() != null; + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_CDC: + return isSetRefersToCDC(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_PRESENCE_CONDITION: + return isSetRefersToPresenceCondition(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_SIZE_ATTRIBUTE: + return isSetRefersToSizeAttribute(); + case NsdPackage.SUB_DATA_OBJECT__REFERS_TO_MAX_INDEX_ATTRIBUTE: + return isSetRefersToMaxIndexAttribute(); } return super.eIsSet( featureID ); } @@ -1374,4 +1984,73 @@ public class SubDataObjectImpl extends DocumentedClassImpl implements SubDataObj return result.toString(); } + /* Implicit link + * SubDataObject.type -> CDC.name + * SubDataObject.presCond -> PresenceCondition.name + * SubDataObject.sizeAttribute -> DataAttribute.name + * SubDataObject.maxIndexAttribute -> DataAttribute.name + */ + @Override + public boolean buildExplicitLinks( IRiseClipseConsole console ) { + if( super.buildExplicitLinks( console ) ) return true; + + if( isSetType() ) { + setRefersToCDC( getCDC().getCDCs().getNS().findCDC( getType(), console ) ); + if( getRefersToCDC() == null ) { + console.error( "CDC (name: " + getType() + ") refers by SubDataObject (name: " + getName() + + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "CDC (name: " + getType() + ") refers by SubDataObject (name: " + getName() + + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") found in NS (id:" + + getRefersToCDC().getCDCs().getNS().getId() + ")" ); + } + } + + if( isSetPresCond() ) { + setRefersToPresenceCondition( getCDC().getCDCs().getNS().findPresenceCondition( getPresCond(), console ) ); + if( getRefersToPresenceCondition() == null ) { + console.error( "PresenceCondition (name: " + getPresCond() + ") refers by SubDataObject (name: " + + getName() + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "PresenceCondition (name: " + getPresCond() + ") refers by SubDataObject (name: " + + getName() + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") found in NS (id:" + + getRefersToPresenceCondition().getPresenceConditions().getNS().getId() + ")" ); + } + } + + if( isSetSizeAttribute() ) { + setRefersToSizeAttribute( getCDC().getDataAttribute().stream() + .filter( att -> att.getName().equals( getSizeAttribute() ) ).findAny().orElse( null ) ); + if( getRefersToSizeAttribute() == null ) { + console.error( "DataAttribute (name: " + getSizeAttribute() + + ") refers as sizeAttribute by SubDataObject (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "DataAttribute (name: " + getSizeAttribute() + + ") refers as sizeAttribute by SubDataObject (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") found" ); + } + } + + if( isSetMaxIndexAttribute() ) { + setRefersToMaxIndexAttribute( getCDC().getDataAttribute().stream() + .filter( att -> att.getName().equals( getMaxIndexAttribute() ) ).findAny().orElse( null ) ); + if( getRefersToMaxIndexAttribute() == null ) { + console.error( "DataAttribute (name: " + getMaxIndexAttribute() + + ") refers as maxIndexAttribute by SubDataObject (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "DataAttribute (name: " + getMaxIndexAttribute() + + ") refers as maxIndexAttribute by SubDataObject (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") found" ); + } + } + + return false; + } + } //SubDataObjectImpl 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 index a6627b621780992b141ecf03f96413e74f1f7e55..3e89911bd3e1a4fa5c6c5812dae89a6bc3c4cb16 100644 --- 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 @@ -147,13 +147,13 @@ public class NsdResourceSetImpl extends ResourceSetImpl { * The following links are implicit: * DependsOn.id -> NS.id DONE * AnyLNClass.base -> AbstractLNClass DONE - * 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 + * DataObject.type -> CDC.name DONE + * DataObject.presCond -> PresenceCondition.name DONE + * DataObject.dsPresCond -> PresenceCondition.name DONE + * SubDataObject.type -> CDC.name DONE + * SubDataObject.presCond -> PresenceCondition.name DONE + * SubDataObject.sizeAttribute -> DataAttribute.name DONE + * SubDataObject.maxIndexAttribute -> DataAttribute.name DONE * DataAttribute.fc -> FunctionalConstraint.abbreviation * DataAttribute.presCond -> PresenceCondition.name * DataAttribute.sizeAttribute -> DataAttribute.name