diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties index 9b7ca8619b305153a799dece53bc117a1d1735ad..f4846e7a3c18b87e44852ed238705af1223f2c30 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/plugin.properties @@ -498,3 +498,11 @@ _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 +_UI_DataAttribute_refersToFunctionalConstraint_feature = Refers To Functional Constraint +_UI_DataAttribute_refersToPresenceCondition_feature = Refers To Presence Condition +_UI_DataAttribute_refersToSizeAttribute_feature = Refers To Size Attribute +_UI_DataAttribute_refersToMaxIndexAttribute_feature = Refers To Max Index Attribute +_UI_DataAttribute_referredByDataAttributeAsSizeAttribute_feature = Referred By Data Attribute As Size Attribute +_UI_DataAttribute_referredByDataAttributeAsMaxIndexAttribute_feature = Referred By Data Attribute As Max Index Attribute +_UI_FunctionalConstraint_referredByDataAttribute_feature = Referred By Data Attribute +_UI_PresenceCondition_referredByDataAttribute_feature = Referred By Data Attribute 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 f1cf3c8c1e9d5cab2596fe69b19e33441919128d..c9e1434b4025ad2fcd54244047a982f4ac4631ea 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 @@ -80,6 +80,12 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider { addNamePropertyDescriptor( object ); addReferredBySubDataObjectAsSizeAttributePropertyDescriptor( object ); addReferredBySubDataObjectAsMaxIndexAttributePropertyDescriptor( object ); + addRefersToFunctionalConstraintPropertyDescriptor( object ); + addRefersToPresenceConditionPropertyDescriptor( object ); + addRefersToSizeAttributePropertyDescriptor( object ); + addRefersToMaxIndexAttributePropertyDescriptor( object ); + addReferredByDataAttributeAsSizeAttributePropertyDescriptor( object ); + addReferredByDataAttributeAsMaxIndexAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -277,6 +283,102 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider { true, null, null, null ) ); } + /** + * This adds a property descriptor for the Refers To Functional Constraint feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addRefersToFunctionalConstraintPropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_DataAttribute_refersToFunctionalConstraint_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_refersToFunctionalConstraint_feature", "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT, 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_DataAttribute_refersToPresenceCondition_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DataAttribute_refersToPresenceCondition_feature", + "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__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_DataAttribute_refersToSizeAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DataAttribute_refersToSizeAttribute_feature", + "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__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_DataAttribute_refersToMaxIndexAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", "_UI_DataAttribute_refersToMaxIndexAttribute_feature", + "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE, true, false, true, null, null, + null ) ); + } + + /** + * This adds a property descriptor for the Referred By Data Attribute As Size Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataAttributeAsSizeAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_DataAttribute_referredByDataAttributeAsSizeAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_referredByDataAttributeAsSizeAttribute_feature", "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE, true, false, true, + null, null, null ) ); + } + + /** + * This adds a property descriptor for the Referred By Data Attribute As Max Index Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataAttributeAsMaxIndexAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_DataAttribute_referredByDataAttributeAsMaxIndexAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_DataAttribute_referredByDataAttributeAsMaxIndexAttribute_feature", + "_UI_DataAttribute_type" ), + NsdPackage.Literals.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_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/FunctionalConstraintItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/FunctionalConstraintItemProvider.java index cfdddcb5f00a04fc65a04e5361f25454f1b939a8..3ac839604c7d37dd1877627ec82e9b927f8540c6 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/FunctionalConstraintItemProvider.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/FunctionalConstraintItemProvider.java @@ -66,6 +66,7 @@ public class FunctionalConstraintItemProvider extends NsdObjectItemProvider { addAbbreviationPropertyDescriptor( object ); addDescIDPropertyDescriptor( object ); addTitleIDPropertyDescriptor( object ); + addReferredByDataAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -118,6 +119,22 @@ public class FunctionalConstraintItemProvider extends NsdObjectItemProvider { ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null ) ); } + /** + * This adds a property descriptor for the Referred By Data Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( createItemPropertyDescriptor( + ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), getResourceLocator(), + getString( "_UI_FunctionalConstraint_referredByDataAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_FunctionalConstraint_referredByDataAttribute_feature", "_UI_FunctionalConstraint_type" ), + NsdPackage.Literals.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE, 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/PresenceConditionItemProvider.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd.edit/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/provider/PresenceConditionItemProvider.java index 83eaa5803c8499df86b68fd4751fb774237f137a..b9cdd96c46b039510d961f7e8bff024eeb455752 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 @@ -67,6 +67,7 @@ public class PresenceConditionItemProvider extends NsdObjectItemProvider { addReferredByDataObjectPropertyDescriptor( object ); addReferredByDataObjectForDerivedStatisticsPropertyDescriptor( object ); addReferredBySubDataObjectPropertyDescriptor( object ); + addReferredByDataAttributePropertyDescriptor( object ); } return itemPropertyDescriptors; } @@ -184,6 +185,22 @@ public class PresenceConditionItemProvider extends NsdObjectItemProvider { null, null ) ); } + /** + * This adds a property descriptor for the Referred By Data Attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected void addReferredByDataAttributePropertyDescriptor( Object object ) { + itemPropertyDescriptors.add( + createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(), + getResourceLocator(), getString( "_UI_PresenceCondition_referredByDataAttribute_feature" ), + getString( "_UI_PropertyDescriptor_description", + "_UI_PresenceCondition_referredByDataAttribute_feature", "_UI_PresenceCondition_type" ), + NsdPackage.Literals.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE, true, false, true, null, + null, null ) ); + } + /** * This returns PresenceCondition.gif. * <!-- 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 8709e24d592f6e377c45661aa4b108c9f7ce0695..31e45673f0a7df36e8450791fa6fe53a3093d0e8 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.ecore @@ -635,6 +635,24 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObjectAsMaxIndexAttribute" ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToMaxIndexAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToFunctionalConstraint" + ordered="false" eType="#//FunctionalConstraint" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//FunctionalConstraint/referredByDataAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToPresenceCondition" + ordered="false" eType="#//PresenceCondition" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//PresenceCondition/referredByDataAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToSizeAttribute" + ordered="false" eType="#//DataAttribute" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//DataAttribute/referredByDataAttributeAsSizeAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="refersToMaxIndexAttribute" + ordered="false" eType="#//DataAttribute" transient="true" unsettable="true" + resolveProxies="false" eOpposite="#//DataAttribute/referredByDataAttributeAsMaxIndexAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttributeAsSizeAttribute" + ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToSizeAttribute"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttributeAsMaxIndexAttribute" + ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToMaxIndexAttribute"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgPresenceConditionDerivedStatistics #//AgUnderlyingType"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -871,6 +889,9 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="functionalConstraints" ordered="false" eType="#//FunctionalConstraints" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//FunctionalConstraints/functionalConstraint"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute" + ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToFunctionalConstraint"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="FunctionalConstraints" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> @@ -1047,6 +1068,10 @@ <eParameters name="presenceConditionName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eParameters name="console" eType="#//IRiseClipseConsole"/> </eOperations> + <eOperations name="findFunctionalConstraint" eType="#//FunctionalConstraint"> + <eParameters name="functionalConstraintAbbreviation" 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"> @@ -1207,6 +1232,9 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="referredBySubDataObject" ordered="false" upperBound="-1" eType="#//SubDataObject" transient="true" unsettable="true" resolveProxies="false" eOpposite="#//SubDataObject/refersToPresenceCondition"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute" + ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true" + unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToPresenceCondition"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="PresenceConditions" eSuperTypes="#//NsdObject"> <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel index 0181ec07015d16fad7a1ebf1283e794dbbcdfc8b..7987efc48fb5a64a8b5f5598165d380cf2012382 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/model/nsd.genmodel @@ -219,6 +219,12 @@ <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"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToFunctionalConstraint"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToPresenceCondition"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToSizeAttribute"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToMaxIndexAttribute"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/referredByDataAttributeAsSizeAttribute"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/referredByDataAttributeAsMaxIndexAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//DataObject"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/name"/> @@ -261,6 +267,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//FunctionalConstraint/descID"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//FunctionalConstraint/titleID"/> <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraint/functionalConstraints"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraint/referredByDataAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//FunctionalConstraints"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//FunctionalConstraints/functionalConstraint"/> @@ -313,6 +320,10 @@ <genParameters ecoreParameter="nsd.ecore#//NS/findPresenceCondition/presenceConditionName"/> <genParameters ecoreParameter="nsd.ecore#//NS/findPresenceCondition/console"/> </genOperations> + <genOperations ecoreOperation="nsd.ecore#//NS/findFunctionalConstraint"> + <genParameters ecoreParameter="nsd.ecore#//NS/findFunctionalConstraint/functionalConstraintAbbreviation"/> + <genParameters ecoreParameter="nsd.ecore#//NS/findFunctionalConstraint/console"/> + </genOperations> </genClasses> <genClasses ecoreClass="nsd.ecore#//NSDoc"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NSDoc/doc"/> @@ -327,6 +338,7 @@ <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"/> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceCondition/referredByDataAttribute"/> </genClasses> <genClasses ecoreClass="nsd.ecore#//PresenceConditions"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//PresenceConditions/presenceCondition"/> 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 6ac5ff1000b20e90f3602fc3eb8341c44880987a..811a3256217b2e719e3d2657e6c0a63385461642 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 @@ -35,6 +35,12 @@ import org.eclipse.emf.common.util.EList; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute() @@ -253,4 +259,306 @@ public interface DataAttribute */ boolean isSetReferredBySubDataObjectAsMaxIndexAttribute(); + /** + * Returns the value of the '<em><b>Refers To Functional Constraint</b></em>' reference. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Refers To Functional Constraint</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 Functional Constraint</em>' reference. + * @see #isSetRefersToFunctionalConstraint() + * @see #unsetRefersToFunctionalConstraint() + * @see #setRefersToFunctionalConstraint(FunctionalConstraint) + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_RefersToFunctionalConstraint() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute + * @model opposite="referredByDataAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + FunctionalConstraint getRefersToFunctionalConstraint(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Refers To Functional Constraint</em>' reference. + * @see #isSetRefersToFunctionalConstraint() + * @see #unsetRefersToFunctionalConstraint() + * @see #getRefersToFunctionalConstraint() + * @generated + */ + void setRefersToFunctionalConstraint( FunctionalConstraint value ); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetRefersToFunctionalConstraint() + * @see #getRefersToFunctionalConstraint() + * @see #setRefersToFunctionalConstraint(FunctionalConstraint) + * @generated + */ + void unsetRefersToFunctionalConstraint(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}' reference is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Refers To Functional Constraint</em>' reference is set. + * @see #unsetRefersToFunctionalConstraint() + * @see #getRefersToFunctionalConstraint() + * @see #setRefersToFunctionalConstraint(FunctionalConstraint) + * @generated + */ + boolean isSetRefersToFunctionalConstraint(); + + /** + * 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#getReferredByDataAttribute <em>Referred By Data Attribute</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#getDataAttribute_RefersToPresenceCondition() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataAttribute + * @model opposite="referredByDataAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + PresenceCondition getRefersToPresenceCondition(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#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.DataAttribute#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.DataAttribute#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#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute 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#getDataAttribute_RefersToSizeAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute + * @model opposite="referredByDataAttributeAsSizeAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + DataAttribute getRefersToSizeAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#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.DataAttribute#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.DataAttribute#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#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute 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#getDataAttribute_RefersToMaxIndexAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute + * @model opposite="referredByDataAttributeAsMaxIndexAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + DataAttribute getRefersToMaxIndexAttribute(); + + /** + * Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#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.DataAttribute#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.DataAttribute#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(); + + /** + * Returns the value of the '<em><b>Referred By Data Attribute As Size Attribute</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data Attribute 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 Data Attribute As Size Attribute</em>' reference list. + * @see #isSetReferredByDataAttributeAsSizeAttribute() + * @see #unsetReferredByDataAttributeAsSizeAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_ReferredByDataAttributeAsSizeAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToSizeAttribute + * @model opposite="refersToSizeAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataAttribute > getReferredByDataAttributeAsSizeAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataAttributeAsSizeAttribute() + * @see #getReferredByDataAttributeAsSizeAttribute() + * @generated + */ + void unsetReferredByDataAttributeAsSizeAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Attribute As Size Attribute</em>' reference list is set. + * @see #unsetReferredByDataAttributeAsSizeAttribute() + * @see #getReferredByDataAttributeAsSizeAttribute() + * @generated + */ + boolean isSetReferredByDataAttributeAsSizeAttribute(); + + /** + * Returns the value of the '<em><b>Referred By Data Attribute As Max Index Attribute</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data Attribute 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 Data Attribute As Max Index Attribute</em>' reference list. + * @see #isSetReferredByDataAttributeAsMaxIndexAttribute() + * @see #unsetReferredByDataAttributeAsMaxIndexAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_ReferredByDataAttributeAsMaxIndexAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToMaxIndexAttribute + * @model opposite="refersToMaxIndexAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataAttribute > getReferredByDataAttributeAsMaxIndexAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataAttributeAsMaxIndexAttribute() + * @see #getReferredByDataAttributeAsMaxIndexAttribute() + * @generated + */ + void unsetReferredByDataAttributeAsMaxIndexAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Attribute As Max Index Attribute</em>' reference list is set. + * @see #unsetReferredByDataAttributeAsMaxIndexAttribute() + * @see #getReferredByDataAttributeAsMaxIndexAttribute() + * @generated + */ + boolean isSetReferredByDataAttributeAsMaxIndexAttribute(); + } // DataAttribute diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java index d1ed1291838472c72276e5eb7edde76a4fcc4c45..1f31a47a3279dccd7e071a0ab0ef1d09a75b87b4 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/FunctionalConstraint.java @@ -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>Functional Constraint</b></em>'. @@ -33,6 +35,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getTitleID <em>Title ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getFunctionalConstraints <em>Functional Constraints</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint() @@ -274,4 +277,45 @@ public interface FunctionalConstraint extends NsdObject { */ void setFunctionalConstraints( FunctionalConstraints value ); + /** + * Returns the value of the '<em><b>Referred By Data Attribute</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data 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 Data Attribute</em>' reference list. + * @see #isSetReferredByDataAttribute() + * @see #unsetReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getFunctionalConstraint_ReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint + * @model opposite="refersToFunctionalConstraint" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataAttribute > getReferredByDataAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + void unsetReferredByDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Attribute</em>' reference list is set. + * @see #unsetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + boolean isSetReferredByDataAttribute(); + } // FunctionalConstraint 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 42a3a410c92b97b1bd830a30f7a7babba50c098a..4fc7fcb0fc3a5b31e2fbe2c7c5bf0cae0534abee 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 @@ -626,4 +626,13 @@ public interface NS extends Copyrighted, AgNSIdentification, AgUML, AgNSdesc { */ PresenceCondition findPresenceCondition( String presenceConditionName, IRiseClipseConsole console ); + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole" + * @generated + */ + FunctionalConstraint findFunctionalConstraint( String functionalConstraintAbbreviation, + IRiseClipseConsole console ); + } // NS 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 b4e0f95057e4b40aad426a5ab97abb94eb84c516..8d569898ab74f03f020c89339a64641d8be8d1a6 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 @@ -2830,6 +2830,60 @@ public interface NsdPackage extends EPackage { */ int DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 19; + /** + * The feature id for the '<em><b>Refers To Functional Constraint</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT = DOCUMENTED_CLASS_FEATURE_COUNT + 20; + + /** + * The feature id for the '<em><b>Refers To Presence Condition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION = DOCUMENTED_CLASS_FEATURE_COUNT + 21; + + /** + * The feature id for the '<em><b>Refers To Size Attribute</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 22; + + /** + * The feature id for the '<em><b>Refers To Max Index Attribute</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 23; + + /** + * The feature id for the '<em><b>Referred By Data Attribute As Size Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 24; + + /** + * The feature id for the '<em><b>Referred By Data Attribute As Max Index Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE = DOCUMENTED_CLASS_FEATURE_COUNT + 25; + /** * The number of structural features of the '<em>Data Attribute</em>' class. * <!-- begin-user-doc --> @@ -2837,7 +2891,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 20; + int DATA_ATTRIBUTE_FEATURE_COUNT = DOCUMENTED_CLASS_FEATURE_COUNT + 26; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -3460,6 +3514,15 @@ public interface NsdPackage extends EPackage { */ int FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS = NSD_OBJECT_FEATURE_COUNT + 4; + /** + * The feature id for the '<em><b>Referred By Data Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE = NSD_OBJECT_FEATURE_COUNT + 5; + /** * The number of structural features of the '<em>Functional Constraint</em>' class. * <!-- begin-user-doc --> @@ -3467,7 +3530,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int FUNCTIONAL_CONSTRAINT_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 5; + int FUNCTIONAL_CONSTRAINT_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 6; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -4270,6 +4333,15 @@ public interface NsdPackage extends EPackage { */ int NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE = COPYRIGHTED_OPERATION_COUNT + 1; + /** + * The operation id for the '<em>Find Functional Constraint</em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int NS___FIND_FUNCTIONAL_CONSTRAINT__STRING_IRISECLIPSECONSOLE = COPYRIGHTED_OPERATION_COUNT + 2; + /** * The number of operations of the '<em>NS</em>' class. * <!-- begin-user-doc --> @@ -4277,7 +4349,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int NS_OPERATION_COUNT = COPYRIGHTED_OPERATION_COUNT + 2; + int NS_OPERATION_COUNT = COPYRIGHTED_OPERATION_COUNT + 3; /** * The feature id for the '<em><b>Line Number</b></em>' attribute. @@ -4504,6 +4576,15 @@ public interface NsdPackage extends EPackage { */ int PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT = NSD_OBJECT_FEATURE_COUNT + 7; + /** + * The feature id for the '<em><b>Referred By Data Attribute</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE = NSD_OBJECT_FEATURE_COUNT + 8; + /** * The number of structural features of the '<em>Presence Condition</em>' class. * <!-- begin-user-doc --> @@ -4511,7 +4592,7 @@ public interface NsdPackage extends EPackage { * @generated * @ordered */ - int PRESENCE_CONDITION_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 8; + int PRESENCE_CONDITION_FEATURE_COUNT = NSD_OBJECT_FEATURE_COUNT + 9; /** * The operation id for the '<em>Build Explicit Links</em>' operation. @@ -7625,6 +7706,72 @@ public interface NsdPackage extends EPackage { */ EReference getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute(); + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Refers To Functional Constraint</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToFunctionalConstraint() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_RefersToFunctionalConstraint(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#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.DataAttribute#getRefersToPresenceCondition() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_RefersToPresenceCondition(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#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.DataAttribute#getRefersToSizeAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_RefersToSizeAttribute(); + + /** + * Returns the meta object for the reference '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#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.DataAttribute#getRefersToMaxIndexAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_RefersToMaxIndexAttribute(); + + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Attribute As Size Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsSizeAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_ReferredByDataAttributeAsSizeAttribute(); + + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Attribute As Max Index Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getReferredByDataAttributeAsMaxIndexAttribute() + * @see #getDataAttribute() + * @generated + */ + EReference getDataAttribute_ReferredByDataAttributeAsMaxIndexAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataObject <em>Data Object</em>}'. * <!-- begin-user-doc --> @@ -8003,6 +8150,17 @@ public interface NsdPackage extends EPackage { */ EReference getFunctionalConstraint_FunctionalConstraints(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint#getReferredByDataAttribute() + * @see #getFunctionalConstraint() + * @generated + */ + EReference getFunctionalConstraint_ReferredByDataAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints <em>Functional Constraints</em>}'. * <!-- begin-user-doc --> @@ -8423,6 +8581,16 @@ public interface NsdPackage extends EPackage { */ EOperation getNS__FindPresenceCondition__String_IRiseClipseConsole(); + /** + * Returns the meta object for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findFunctionalConstraint(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) <em>Find Functional Constraint</em>}' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the '<em>Find Functional Constraint</em>' operation. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS#findFunctionalConstraint(java.lang.String, fr.centralesupelec.edf.riseclipse.util.IRiseClipseConsole) + * @generated + */ + EOperation getNS__FindFunctionalConstraint__String_IRiseClipseConsole(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.NSDoc <em>NS Doc</em>}'. * <!-- begin-user-doc --> @@ -8553,6 +8721,17 @@ public interface NsdPackage extends EPackage { */ EReference getPresenceCondition_ReferredBySubDataObject(); + /** + * Returns the meta object for the reference list '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Referred By Data Attribute</em>'. + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataAttribute() + * @see #getPresenceCondition() + * @generated + */ + EReference getPresenceCondition_ReferredByDataAttribute(); + /** * Returns the meta object for class '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceConditions <em>Presence Conditions</em>}'. * <!-- begin-user-doc --> @@ -10529,6 +10708,59 @@ public interface NsdPackage extends EPackage { EReference DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE = eINSTANCE .getDataAttribute_ReferredBySubDataObjectAsMaxIndexAttribute(); + /** + * The meta object literal for the '<em><b>Refers To Functional Constraint</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT = eINSTANCE + .getDataAttribute_RefersToFunctionalConstraint(); + + /** + * 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_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION = eINSTANCE + .getDataAttribute_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 DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE = eINSTANCE.getDataAttribute_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 DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE = eINSTANCE + .getDataAttribute_RefersToMaxIndexAttribute(); + + /** + * The meta object literal for the '<em><b>Referred By Data Attribute As Size Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE = eINSTANCE + .getDataAttribute_ReferredByDataAttributeAsSizeAttribute(); + + /** + * The meta object literal for the '<em><b>Referred By Data Attribute As Max Index Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE = eINSTANCE + .getDataAttribute_ReferredByDataAttributeAsMaxIndexAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataObjectImpl <em>Data Object</em>}' class. * <!-- begin-user-doc --> @@ -10825,6 +11057,15 @@ public interface NsdPackage extends EPackage { EReference FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS = eINSTANCE .getFunctionalConstraint_FunctionalConstraints(); + /** + * The meta object literal for the '<em><b>Referred By Data Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE = eINSTANCE + .getFunctionalConstraint_ReferredByDataAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintsImpl <em>Functional Constraints</em>}' class. * <!-- begin-user-doc --> @@ -11153,6 +11394,15 @@ public interface NsdPackage extends EPackage { EOperation NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE = eINSTANCE .getNS__FindPresenceCondition__String_IRiseClipseConsole(); + /** + * The meta object literal for the '<em><b>Find Functional Constraint</b></em>' operation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EOperation NS___FIND_FUNCTIONAL_CONSTRAINT__STRING_IRISECLIPSECONSOLE = eINSTANCE + .getNS__FindFunctionalConstraint__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 --> @@ -11255,6 +11505,15 @@ public interface NsdPackage extends EPackage { EReference PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT = eINSTANCE .getPresenceCondition_ReferredBySubDataObject(); + /** + * The meta object literal for the '<em><b>Referred By Data Attribute</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE = eINSTANCE + .getPresenceCondition_ReferredByDataAttribute(); + /** * The meta object literal for the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionsImpl <em>Presence Conditions</em>}' class. * <!-- begin-user-doc --> diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceCondition.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/PresenceCondition.java index 2cebb8d6dbffe39557e4a3b5e4b78ae7d836a883..5f563c348531d899775a78c84cc960083478ef1a 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 @@ -38,6 +38,7 @@ import org.eclipse.emf.common.util.EList; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition() @@ -396,4 +397,45 @@ public interface PresenceCondition extends NsdObject { */ boolean isSetReferredBySubDataObject(); + /** + * Returns the value of the '<em><b>Referred By Data Attribute</b></em>' reference list. + * The list contents are of type {@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute}. + * It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Referred By Data 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 Data Attribute</em>' reference list. + * @see #isSetReferredByDataAttribute() + * @see #unsetReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getPresenceCondition_ReferredByDataAttribute() + * @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToPresenceCondition + * @model opposite="refersToPresenceCondition" resolveProxies="false" unsettable="true" transient="true" ordered="false" + * @generated + */ + EList< DataAttribute > getReferredByDataAttribute(); + + /** + * Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isSetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + void unsetReferredByDataAttribute(); + + /** + * Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.PresenceCondition#getReferredByDataAttribute <em>Referred By Data Attribute</em>}' reference list is set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return whether the value of the '<em>Referred By Data Attribute</em>' reference list is set. + * @see #unsetReferredByDataAttribute() + * @see #getReferredByDataAttribute() + * @generated + */ + boolean isSetReferredByDataAttribute(); + } // PresenceCondition 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 80f4c8fa8a494e8a66c58f4ebfddcff867bc1251..7925f276b3b29bded9d83f4429df6a4837728334 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 @@ -26,10 +26,14 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgPresenceCondition; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.AgTrgOp; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.CDC; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdFactory; 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 java.math.BigDecimal; import java.util.Collection; @@ -75,6 +79,12 @@ import org.eclipse.emf.ecore.util.InternalEList; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToFunctionalConstraint <em>Refers To Functional Constraint</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToPresenceCondition <em>Refers To Presence Condition</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToSizeAttribute <em>Refers To Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getRefersToMaxIndexAttribute <em>Refers To Max Index Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getReferredByDataAttributeAsSizeAttribute <em>Referred By Data Attribute As Size Attribute</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.DataAttributeImpl#getReferredByDataAttributeAsMaxIndexAttribute <em>Referred By Data Attribute As Max Index Attribute</em>}</li> * </ul> * * @generated @@ -594,6 +604,102 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib */ protected EList< SubDataObject > referredBySubDataObjectAsMaxIndexAttribute; + /** + * The cached value of the '{@link #getRefersToFunctionalConstraint() <em>Refers To Functional Constraint</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRefersToFunctionalConstraint() + * @generated + * @ordered + */ + protected FunctionalConstraint refersToFunctionalConstraint; + + /** + * This is true if the Refers To Functional Constraint reference has been set. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + protected boolean refersToFunctionalConstraintESet; + + /** + * 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; + + /** + * The cached value of the '{@link #getReferredByDataAttributeAsSizeAttribute() <em>Referred By Data Attribute As Size Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataAttributeAsSizeAttribute() + * @generated + * @ordered + */ + protected EList< DataAttribute > referredByDataAttributeAsSizeAttribute; + + /** + * The cached value of the '{@link #getReferredByDataAttributeAsMaxIndexAttribute() <em>Referred By Data Attribute As Max Index Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataAttributeAsMaxIndexAttribute() + * @generated + * @ordered + */ + protected EList< DataAttribute > referredByDataAttributeAsMaxIndexAttribute; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1588,6 +1694,548 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib && ( ( InternalEList.Unsettable< ? > ) referredBySubDataObjectAsMaxIndexAttribute ).isSet(); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionalConstraint getRefersToFunctionalConstraint() { + return refersToFunctionalConstraint; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRefersToFunctionalConstraint( FunctionalConstraint newRefersToFunctionalConstraint, + NotificationChain msgs ) { + FunctionalConstraint oldRefersToFunctionalConstraint = refersToFunctionalConstraint; + refersToFunctionalConstraint = newRefersToFunctionalConstraint; + boolean oldRefersToFunctionalConstraintESet = refersToFunctionalConstraintESet; + refersToFunctionalConstraintESet = true; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT, oldRefersToFunctionalConstraint, + newRefersToFunctionalConstraint, !oldRefersToFunctionalConstraintESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRefersToFunctionalConstraint( FunctionalConstraint newRefersToFunctionalConstraint ) { + if( newRefersToFunctionalConstraint != refersToFunctionalConstraint ) { + NotificationChain msgs = null; + if( refersToFunctionalConstraint != null ) + msgs = ( ( InternalEObject ) refersToFunctionalConstraint ).eInverseRemove( this, + NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE, FunctionalConstraint.class, + msgs ); + if( newRefersToFunctionalConstraint != null ) + msgs = ( ( InternalEObject ) newRefersToFunctionalConstraint ).eInverseAdd( this, + NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE, FunctionalConstraint.class, + msgs ); + msgs = basicSetRefersToFunctionalConstraint( newRefersToFunctionalConstraint, msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToFunctionalConstraintESet = refersToFunctionalConstraintESet; + refersToFunctionalConstraintESet = true; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.SET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT, newRefersToFunctionalConstraint, + newRefersToFunctionalConstraint, !oldRefersToFunctionalConstraintESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicUnsetRefersToFunctionalConstraint( NotificationChain msgs ) { + FunctionalConstraint oldRefersToFunctionalConstraint = refersToFunctionalConstraint; + refersToFunctionalConstraint = null; + boolean oldRefersToFunctionalConstraintESet = refersToFunctionalConstraintESet; + refersToFunctionalConstraintESet = false; + if( eNotificationRequired() ) { + ENotificationImpl notification = new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT, oldRefersToFunctionalConstraint, null, + oldRefersToFunctionalConstraintESet ); + if( msgs == null ) + msgs = notification; + else + msgs.add( notification ); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetRefersToFunctionalConstraint() { + if( refersToFunctionalConstraint != null ) { + NotificationChain msgs = null; + msgs = ( ( InternalEObject ) refersToFunctionalConstraint ).eInverseRemove( this, + NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE, FunctionalConstraint.class, msgs ); + msgs = basicUnsetRefersToFunctionalConstraint( msgs ); + if( msgs != null ) msgs.dispatch(); + } + else { + boolean oldRefersToFunctionalConstraintESet = refersToFunctionalConstraintESet; + refersToFunctionalConstraintESet = false; + if( eNotificationRequired() ) eNotify( new ENotificationImpl( this, Notification.UNSET, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT, null, null, + oldRefersToFunctionalConstraintESet ) ); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetRefersToFunctionalConstraint() { + return refersToFunctionalConstraintESet; + } + + /** + * <!-- 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_ATTRIBUTE__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_ATTRIBUTE, PresenceCondition.class, msgs ); + if( newRefersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) newRefersToPresenceCondition ).eInverseAdd( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE, 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_ATTRIBUTE__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_ATTRIBUTE__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_ATTRIBUTE, 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_ATTRIBUTE__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.DATA_ATTRIBUTE__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_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE, DataAttribute.class, + msgs ); + if( newRefersToSizeAttribute != null ) + msgs = ( ( InternalEObject ) newRefersToSizeAttribute ).eInverseAdd( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_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.DATA_ATTRIBUTE__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.DATA_ATTRIBUTE__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_DATA_ATTRIBUTE_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.DATA_ATTRIBUTE__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.DATA_ATTRIBUTE__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_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE, + DataAttribute.class, msgs ); + if( newRefersToMaxIndexAttribute != null ) + msgs = ( ( InternalEObject ) newRefersToMaxIndexAttribute ).eInverseAdd( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_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.DATA_ATTRIBUTE__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.DATA_ATTRIBUTE__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_DATA_ATTRIBUTE_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.DATA_ATTRIBUTE__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 --> + * @generated + */ + @Override + public EList< DataAttribute > getReferredByDataAttributeAsSizeAttribute() { + if( referredByDataAttributeAsSizeAttribute == null ) { + referredByDataAttributeAsSizeAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( + DataAttribute.class, this, NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE ); + } + return referredByDataAttributeAsSizeAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataAttributeAsSizeAttribute() { + if( referredByDataAttributeAsSizeAttribute != null ) + ( ( InternalEList.Unsettable< ? > ) referredByDataAttributeAsSizeAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataAttributeAsSizeAttribute() { + return referredByDataAttributeAsSizeAttribute != null + && ( ( InternalEList.Unsettable< ? > ) referredByDataAttributeAsSizeAttribute ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DataAttribute > getReferredByDataAttributeAsMaxIndexAttribute() { + if( referredByDataAttributeAsMaxIndexAttribute == null ) { + referredByDataAttributeAsMaxIndexAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( + DataAttribute.class, this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE ); + } + return referredByDataAttributeAsMaxIndexAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataAttributeAsMaxIndexAttribute() { + if( referredByDataAttributeAsMaxIndexAttribute != null ) + ( ( InternalEList.Unsettable< ? > ) referredByDataAttributeAsMaxIndexAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataAttributeAsMaxIndexAttribute() { + return referredByDataAttributeAsMaxIndexAttribute != null + && ( ( InternalEList.Unsettable< ? > ) referredByDataAttributeAsMaxIndexAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1606,6 +2254,35 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredBySubDataObjectAsMaxIndexAttribute() ) .basicAdd( otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT: + if( refersToFunctionalConstraint != null ) + msgs = ( ( InternalEObject ) refersToFunctionalConstraint ).eInverseRemove( this, + NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE, FunctionalConstraint.class, + msgs ); + return basicSetRefersToFunctionalConstraint( ( FunctionalConstraint ) otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION: + if( refersToPresenceCondition != null ) + msgs = ( ( InternalEObject ) refersToPresenceCondition ).eInverseRemove( this, + NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE, PresenceCondition.class, msgs ); + return basicSetRefersToPresenceCondition( ( PresenceCondition ) otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE: + if( refersToSizeAttribute != null ) + msgs = ( ( InternalEObject ) refersToSizeAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE, DataAttribute.class, + msgs ); + return basicSetRefersToSizeAttribute( ( DataAttribute ) otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE: + if( refersToMaxIndexAttribute != null ) + msgs = ( ( InternalEObject ) refersToMaxIndexAttribute ).eInverseRemove( this, + NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE, + DataAttribute.class, msgs ); + return basicSetRefersToMaxIndexAttribute( ( DataAttribute ) otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttributeAsSizeAttribute() ) + .basicAdd( otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttributeAsMaxIndexAttribute() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -1625,6 +2302,19 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: return ( ( InternalEList< ? > ) getReferredBySubDataObjectAsMaxIndexAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT: + return basicUnsetRefersToFunctionalConstraint( msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION: + return basicUnsetRefersToPresenceCondition( msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE: + return basicUnsetRefersToSizeAttribute( msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE: + return basicUnsetRefersToMaxIndexAttribute( msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredByDataAttributeAsSizeAttribute() ).basicRemove( otherEnd, msgs ); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredByDataAttributeAsMaxIndexAttribute() ).basicRemove( otherEnd, + msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -1691,6 +2381,18 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return getReferredBySubDataObjectAsSizeAttribute(); case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: return getReferredBySubDataObjectAsMaxIndexAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT: + return getRefersToFunctionalConstraint(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION: + return getRefersToPresenceCondition(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE: + return getRefersToSizeAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE: + return getRefersToMaxIndexAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE: + return getReferredByDataAttributeAsSizeAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE: + return getReferredByDataAttributeAsMaxIndexAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -1767,6 +2469,27 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib getReferredBySubDataObjectAsMaxIndexAttribute() .addAll( ( Collection< ? extends SubDataObject > ) newValue ); return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT: + setRefersToFunctionalConstraint( ( FunctionalConstraint ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION: + setRefersToPresenceCondition( ( PresenceCondition ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE: + setRefersToSizeAttribute( ( DataAttribute ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE: + setRefersToMaxIndexAttribute( ( DataAttribute ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE: + getReferredByDataAttributeAsSizeAttribute().clear(); + getReferredByDataAttributeAsSizeAttribute().addAll( ( Collection< ? extends DataAttribute > ) newValue ); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE: + getReferredByDataAttributeAsMaxIndexAttribute().clear(); + getReferredByDataAttributeAsMaxIndexAttribute() + .addAll( ( Collection< ? extends DataAttribute > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -1839,6 +2562,24 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: unsetReferredBySubDataObjectAsMaxIndexAttribute(); return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT: + unsetRefersToFunctionalConstraint(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION: + unsetRefersToPresenceCondition(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE: + unsetRefersToSizeAttribute(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE: + unsetRefersToMaxIndexAttribute(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE: + unsetReferredByDataAttributeAsSizeAttribute(); + return; + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE: + unsetReferredByDataAttributeAsMaxIndexAttribute(); + return; } super.eUnset( featureID ); } @@ -1891,6 +2632,18 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return isSetReferredBySubDataObjectAsSizeAttribute(); case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_SUB_DATA_OBJECT_AS_MAX_INDEX_ATTRIBUTE: return isSetReferredBySubDataObjectAsMaxIndexAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT: + return isSetRefersToFunctionalConstraint(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION: + return isSetRefersToPresenceCondition(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE: + return isSetRefersToSizeAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE: + return isSetRefersToMaxIndexAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE: + return isSetReferredByDataAttributeAsSizeAttribute(); + case NsdPackage.DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE: + return isSetReferredByDataAttributeAsMaxIndexAttribute(); } return super.eIsSet( featureID ); } @@ -2134,4 +2887,74 @@ public class DataAttributeImpl extends DocumentedClassImpl implements DataAttrib return result.toString(); } + /* Implicit link + * DataAttribute.fc -> FunctionalConstraint.abbreviation + * DataAttribute.presCond -> PresenceCondition.name + * DataAttribute.sizeAttribute -> DataAttribute.name + * DataAttribute.maxIndexAttribute -> DataAttribute.name + */ + @Override + public boolean buildExplicitLinks( IRiseClipseConsole console ) { + if( super.buildExplicitLinks( console ) ) return true; + + if( isSetFc() ) { + setRefersToFunctionalConstraint( getCDC().getCDCs().getNS().findFunctionalConstraint( getFc(), console )); + if( getRefersToFunctionalConstraint() == null ) { + console.error( "FunctionalConstraint (abbreviation: " + getFc() + ") refers by DataAttribute (name: " + getName() + + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "FunctionalConstraint (abbreviation: " + getFc() + ") refers by DataAttribute (name: " + getName() + + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") found in NS (id:" + + getRefersToFunctionalConstraint().getFunctionalConstraints().getNS().getId() + ")" ); + } + } + + if( isSetPresCond() ) { + setRefersToPresenceCondition( + getCDC().getCDCs().getNS().findPresenceCondition( getPresCond(), console ) ); + if( getRefersToPresenceCondition() == null ) { + console.error( + "PresenceCondition (name: " + getPresCond() + ") refers by DataAttribute (name: " + getName() + + ") in NS (id:" + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "PresenceCondition (name: " + getPresCond() + ") refers by DataAttribute (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 DataAttribute (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "DataAttribute (name: " + getSizeAttribute() + + ") refers as sizeAttribute by DataAttribute (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 DataAttribute (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") is unknown" ); + } + else { + console.info( "DataAttribute (name: " + getMaxIndexAttribute() + + ") refers as maxIndexAttribute by DataAttribute (name: " + getName() + ") in NS (id:" + + getCDC().getCDCs().getNS().getId() + ") found" ); + } + } + + return false; + } } //DataAttributeImpl diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java index 4eb8e285444de930c1b5e6e8d038343d62b9042a..0b42ad52bd244e5cb8fb3383c810e6f9236505a5 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.nsd/src/fr/centralesupelec/edf/riseclipse/iec61850/nsd/impl/FunctionalConstraintImpl.java @@ -20,18 +20,23 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ApplicableServices; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage; +import 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 --> @@ -46,6 +51,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getDescID <em>Desc ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getTitleID <em>Title ID</em>}</li> * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getFunctionalConstraints <em>Functional Constraints</em>}</li> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.FunctionalConstraintImpl#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @generated @@ -157,6 +163,16 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona */ protected boolean titleIDESet; + /** + * The cached value of the '{@link #getReferredByDataAttribute() <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataAttribute() + * @generated + * @ordered + */ + protected EList< DataAttribute > referredByDataAttribute; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -493,6 +509,42 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona * @generated */ @Override + public EList< DataAttribute > getReferredByDataAttribute() { + if( referredByDataAttribute == null ) { + referredByDataAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( DataAttribute.class, + this, NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT ); + } + return referredByDataAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataAttribute() { + if( referredByDataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataAttribute() { + return referredByDataAttribute != null && ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).isSet(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings( "unchecked" ) + @Override public NotificationChain eInverseAdd( InternalEObject otherEnd, int featureID, NotificationChain msgs ) { switch( featureID ) { case NsdPackage.FUNCTIONAL_CONSTRAINT__APPLICABLE_SERVICES: @@ -502,6 +554,9 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: if( eInternalContainer() != null ) msgs = eBasicRemoveFromContainer( msgs ); return basicSetFunctionalConstraints( ( FunctionalConstraints ) otherEnd, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttribute() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -518,6 +573,8 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona return basicUnsetApplicableServices( msgs ); case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: return basicSetFunctionalConstraints( null, msgs ); + case NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredByDataAttribute() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -555,6 +612,8 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona return getTitleID(); case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: return getFunctionalConstraints(); + case NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE: + return getReferredByDataAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -564,6 +623,7 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona * <!-- end-user-doc --> * @generated */ + @SuppressWarnings( "unchecked" ) @Override public void eSet( int featureID, Object newValue ) { switch( featureID ) { @@ -582,6 +642,10 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: setFunctionalConstraints( ( FunctionalConstraints ) newValue ); return; + case NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE: + getReferredByDataAttribute().clear(); + getReferredByDataAttribute().addAll( ( Collection< ? extends DataAttribute > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -609,6 +673,9 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: setFunctionalConstraints( ( FunctionalConstraints ) null ); return; + case NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE: + unsetReferredByDataAttribute(); + return; } super.eUnset( featureID ); } @@ -631,6 +698,8 @@ public class FunctionalConstraintImpl extends NsdObjectImpl implements Functiona return isSetTitleID(); case NsdPackage.FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS: return getFunctionalConstraints() != null; + case NsdPackage.FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE: + return isSetReferredByDataAttribute(); } return super.eIsSet( featureID ); } 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 5e376c20a00d1ffd1ba9173d2226c4a044ffcd10..e8fa279425db7affa5bd8dd8f080de1d3d433325 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 @@ -30,6 +30,7 @@ import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Changes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DependsOn; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations; +import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraint; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.FunctionalConstraints; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.LNClasses; import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NS; @@ -1666,13 +1667,13 @@ public class NSImpl extends CopyrightedImpl implements NS { */ @Override public CDC findCDC( String cDCName, IRiseClipseConsole console ) { - if( cDCsESet ) { + if( isSetCDCs() ) { CDC found = getCDCs().getCDC().stream().filter( cdc -> cdc.getName().equals( cDCName ) ).findAny() .orElse( null ); if( found != null ) return found; } - if( dependsOnESet ) { + if( isSetDependsOn() ) { getDependsOn().buildExplicitLinks( console ); return getDependsOn().getRefersToNS().findCDC( cDCName, console ); } @@ -1687,13 +1688,13 @@ public class NSImpl extends CopyrightedImpl implements NS { */ @Override public PresenceCondition findPresenceCondition( String presenceConditionName, IRiseClipseConsole console ) { - if( presenceConditionsESet ) { + if( isSetPresenceConditions() ) { PresenceCondition found = getPresenceConditions().getPresenceCondition().stream() .filter( cond -> cond.getName().equals( presenceConditionName ) ).findAny().orElse( null ); if( found != null ) return found; } - if( dependsOnESet ) { + if( isSetDependsOn() ) { getDependsOn().buildExplicitLinks( console ); return getDependsOn().getRefersToNS().findPresenceCondition( presenceConditionName, console ); } @@ -1701,6 +1702,28 @@ public class NSImpl extends CopyrightedImpl implements NS { return null; } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ + @Override + public FunctionalConstraint findFunctionalConstraint( String functionalConstraintAbbreviation, + IRiseClipseConsole console ) { + if( isSetFunctionalConstraints() ) { + FunctionalConstraint found = getFunctionalConstraints().getFunctionalConstraint().stream() + .filter( fc -> fc.getAbbreviation().equals( functionalConstraintAbbreviation ) ).findAny().orElse( null ); + if( found != null ) return found; + } + + if( isSetDependsOn() ) { + getDependsOn().buildExplicitLinks( console ); + return getDependsOn().getRefersToNS().findFunctionalConstraint( functionalConstraintAbbreviation, console ); + } + + return null; + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2532,6 +2555,8 @@ public class NSImpl extends CopyrightedImpl implements NS { 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 ) ); + case NsdPackage.NS___FIND_FUNCTIONAL_CONSTRAINT__STRING_IRISECLIPSECONSOLE: + return findFunctionalConstraint( ( String ) arguments.get( 0 ), ( IRiseClipseConsole ) arguments.get( 1 ) ); } return super.eInvoke( operationID, arguments ); } 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 ccb6af2bec69199283a35bfaf7a6f6436bc4786c..196eac7a66cdc704f16383000220f9519004758b 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 @@ -1633,6 +1633,66 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 4 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_RefersToFunctionalConstraint() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 5 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_RefersToPresenceCondition() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 6 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_RefersToSizeAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 7 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_RefersToMaxIndexAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 8 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_ReferredByDataAttributeAsSizeAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 9 ); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getDataAttribute_ReferredByDataAttributeAsMaxIndexAttribute() { + return ( EReference ) dataAttributeEClass.getEStructuralFeatures().get( 10 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -1983,6 +2043,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) functionalConstraintEClass.getEStructuralFeatures().get( 4 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctionalConstraint_ReferredByDataAttribute() { + return ( EReference ) functionalConstraintEClass.getEStructuralFeatures().get( 5 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2373,6 +2443,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return nsEClass.getEOperations().get( 1 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EOperation getNS__FindFunctionalConstraint__String_IRiseClipseConsole() { + return nsEClass.getEOperations().get( 2 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2493,6 +2573,16 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 7 ); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getPresenceCondition_ReferredByDataAttribute() { + return ( EReference ) presenceConditionEClass.getEStructuralFeatures().get( 8 ); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3714,6 +3804,12 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_FUNCTIONAL_CONSTRAINT ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_SIZE_ATTRIBUTE ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERS_TO_MAX_INDEX_ATTRIBUTE ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_SIZE_ATTRIBUTE ); + createEReference( dataAttributeEClass, DATA_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE_AS_MAX_INDEX_ATTRIBUTE ); dataObjectEClass = createEClass( DATA_OBJECT ); createEAttribute( dataObjectEClass, DATA_OBJECT__NAME ); @@ -3756,6 +3852,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEAttribute( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__DESC_ID ); createEAttribute( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__TITLE_ID ); createEReference( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__FUNCTIONAL_CONSTRAINTS ); + createEReference( functionalConstraintEClass, FUNCTIONAL_CONSTRAINT__REFERRED_BY_DATA_ATTRIBUTE ); functionalConstraintsEClass = createEClass( FUNCTIONAL_CONSTRAINTS ); createEReference( functionalConstraintsEClass, FUNCTIONAL_CONSTRAINTS__FUNCTIONAL_CONSTRAINT ); @@ -3802,6 +3899,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { createEReference( nsEClass, NS__REFERRED_BY_DEPENDS_ON ); createEOperation( nsEClass, NS___FIND_CDC__STRING_IRISECLIPSECONSOLE ); createEOperation( nsEClass, NS___FIND_PRESENCE_CONDITION__STRING_IRISECLIPSECONSOLE ); + createEOperation( nsEClass, NS___FIND_FUNCTIONAL_CONSTRAINT__STRING_IRISECLIPSECONSOLE ); nsDocEClass = createEClass( NS_DOC ); createEReference( nsDocEClass, NS_DOC__DOC ); @@ -3816,6 +3914,7 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + createEReference( presenceConditionEClass, PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE ); presenceConditionsEClass = createEClass( PRESENCE_CONDITIONS ); createEReference( presenceConditionsEClass, PRESENCE_CONDITIONS__PRESENCE_CONDITION ); @@ -4347,6 +4446,30 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getDataAttribute_RefersToFunctionalConstraint(), this.getFunctionalConstraint(), + this.getFunctionalConstraint_ReferredByDataAttribute(), "refersToFunctionalConstraint", 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_RefersToPresenceCondition(), this.getPresenceCondition(), + this.getPresenceCondition_ReferredByDataAttribute(), "refersToPresenceCondition", 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_RefersToSizeAttribute(), this.getDataAttribute(), + this.getDataAttribute_ReferredByDataAttributeAsSizeAttribute(), "refersToSizeAttribute", 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_RefersToMaxIndexAttribute(), this.getDataAttribute(), + this.getDataAttribute_ReferredByDataAttributeAsMaxIndexAttribute(), "refersToMaxIndexAttribute", 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_ReferredByDataAttributeAsSizeAttribute(), this.getDataAttribute(), + this.getDataAttribute_RefersToSizeAttribute(), "referredByDataAttributeAsSizeAttribute", 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_ReferredByDataAttributeAsMaxIndexAttribute(), this.getDataAttribute(), + this.getDataAttribute_RefersToMaxIndexAttribute(), "referredByDataAttributeAsMaxIndexAttribute", 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 ); @@ -4449,6 +4572,10 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { this.getFunctionalConstraints_FunctionalConstraint(), "functionalConstraints", null, 0, 1, FunctionalConstraint.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); + initEReference( getFunctionalConstraint_ReferredByDataAttribute(), this.getDataAttribute(), + this.getDataAttribute_RefersToFunctionalConstraint(), "referredByDataAttribute", null, 0, -1, + FunctionalConstraint.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, + !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED ); initEClass( functionalConstraintsEClass, FunctionalConstraints.class, "FunctionalConstraints", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS ); @@ -4568,6 +4695,11 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { addEParameter( op, ecorePackage.getEString(), "presenceConditionName", 0, 1, IS_UNIQUE, IS_ORDERED ); addEParameter( op, this.getIRiseClipseConsole(), "console", 0, 1, IS_UNIQUE, IS_ORDERED ); + op = initEOperation( getNS__FindFunctionalConstraint__String_IRiseClipseConsole(), + this.getFunctionalConstraint(), "findFunctionalConstraint", 0, 1, IS_UNIQUE, IS_ORDERED ); + addEParameter( op, ecorePackage.getEString(), "functionalConstraintAbbreviation", 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, @@ -4606,6 +4738,10 @@ public class NsdPackageImpl extends EPackageImpl implements NsdPackage { 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 ); + initEReference( getPresenceCondition_ReferredByDataAttribute(), this.getDataAttribute(), + this.getDataAttribute_RefersToPresenceCondition(), "referredByDataAttribute", 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 ); 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 4bafb3a2f77aa1d559a40c466376c60c25960df4..5e6d9ff63b06ccfc6419e27c72c942c7cc683722 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,6 +19,7 @@ */ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl; +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.PresenceCondition; @@ -54,6 +55,7 @@ import org.eclipse.emf.ecore.util.InternalEList; * <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> + * <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.PresenceConditionImpl#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li> * </ul> * * @generated @@ -205,6 +207,16 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond */ protected EList< SubDataObject > referredBySubDataObject; + /** + * The cached value of the '{@link #getReferredByDataAttribute() <em>Referred By Data Attribute</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getReferredByDataAttribute() + * @generated + * @ordered + */ + protected EList< DataAttribute > referredByDataAttribute; + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -578,6 +590,41 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond return referredBySubDataObject != null && ( ( InternalEList.Unsettable< ? > ) referredBySubDataObject ).isSet(); } + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList< DataAttribute > getReferredByDataAttribute() { + if( referredByDataAttribute == null ) { + referredByDataAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( DataAttribute.class, + this, NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE, + NsdPackage.DATA_ATTRIBUTE__REFERS_TO_PRESENCE_CONDITION ); + } + return referredByDataAttribute; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void unsetReferredByDataAttribute() { + if( referredByDataAttribute != null ) ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).unset(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean isSetReferredByDataAttribute() { + return referredByDataAttribute != null && ( ( InternalEList.Unsettable< ? > ) referredByDataAttribute ).isSet(); + } + /** * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -599,6 +646,9 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredBySubDataObject() ) .basicAdd( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttribute() ) + .basicAdd( otherEnd, msgs ); } return super.eInverseAdd( otherEnd, featureID, msgs ); } @@ -620,6 +670,8 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond msgs ); case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: return ( ( InternalEList< ? > ) getReferredBySubDataObject() ).basicRemove( otherEnd, msgs ); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE: + return ( ( InternalEList< ? > ) getReferredByDataAttribute() ).basicRemove( otherEnd, msgs ); } return super.eInverseRemove( otherEnd, featureID, msgs ); } @@ -663,6 +715,8 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond return getReferredByDataObjectForDerivedStatistics(); case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: return getReferredBySubDataObject(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE: + return getReferredByDataAttribute(); } return super.eGet( featureID, resolve, coreType ); } @@ -703,6 +757,10 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond getReferredBySubDataObject().clear(); getReferredBySubDataObject().addAll( ( Collection< ? extends SubDataObject > ) newValue ); return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE: + getReferredByDataAttribute().clear(); + getReferredByDataAttribute().addAll( ( Collection< ? extends DataAttribute > ) newValue ); + return; } super.eSet( featureID, newValue ); } @@ -739,6 +797,9 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: unsetReferredBySubDataObject(); return; + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE: + unsetReferredByDataAttribute(); + return; } super.eUnset( featureID ); } @@ -767,6 +828,8 @@ public class PresenceConditionImpl extends NsdObjectImpl implements PresenceCond return isSetReferredByDataObjectForDerivedStatistics(); case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_SUB_DATA_OBJECT: return isSetReferredBySubDataObject(); + case NsdPackage.PRESENCE_CONDITION__REFERRED_BY_DATA_ATTRIBUTE: + return isSetReferredByDataAttribute(); } return super.eIsSet( featureID ); }