Commit 8736980f authored by Dominique Marcadet's avatar Dominique Marcadet

add links from DataAttribute to Enumeration and ConstructedAttribute

parent 6e21a087
......@@ -573,3 +573,7 @@ _UI_PresenceCondition_refersToDoc_feature = Refers To Doc
_UI_AgPresenceCondition_refersToPresCondArgsDoc_feature = Refers To Pres Cond Args Doc
_UI_AgPresenceConditionDerivedStatistics_refersToDsPresCondArgsDoc_feature = Refers To Ds Pres Cond Args Doc
_UI_AgNSdesc_refersToDoc_feature = Refers To Doc
_UI_ConstructedAttribute_referredByDataAttribute_feature = Referred By Data Attribute
_UI_DataAttribute_refersToConstructedAttribute_feature = Refers To Constructed Attribute
_UI_DataAttribute_refersToEnumeration_feature = Refers To Enumeration
_UI_Enumeration_referredByDataAttribute_feature = Referred By Data Attribute
......@@ -65,6 +65,7 @@ public class ConstructedAttributeItemProvider extends TitledClassItemProvider {
super.getPropertyDescriptors( object );
addNamePropertyDescriptor( object );
addReferredByDataAttributePropertyDescriptor( object );
}
return itemPropertyDescriptors;
}
......@@ -91,6 +92,28 @@ public class ConstructedAttributeItemProvider extends TitledClassItemProvider {
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_ConstructedAttribute_referredByDataAttribute_feature" ),
getString( "_UI_PropertyDescriptor_description",
"_UI_ConstructedAttribute_referredByDataAttribute_feature", "_UI_ConstructedAttribute_type" ),
NsdPackage.Literals.CONSTRUCTED_ATTRIBUTE__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
......
......@@ -88,6 +88,8 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider {
addReferredByDataAttributeAsSizeAttributePropertyDescriptor( object );
addReferredByDataAttributeAsMaxIndexAttributePropertyDescriptor( object );
addRefersToBasicTypePropertyDescriptor( object );
addRefersToConstructedAttributePropertyDescriptor( object );
addRefersToEnumerationPropertyDescriptor( object );
}
return itemPropertyDescriptors;
}
......@@ -512,6 +514,50 @@ public class DataAttributeItemProvider extends DocumentedClassItemProvider {
null ) );
}
/**
* This adds a property descriptor for the Refers To Constructed Attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addRefersToConstructedAttributePropertyDescriptor( Object object ) {
itemPropertyDescriptors.add(
createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
getResourceLocator(),
getString( "_UI_DataAttribute_refersToConstructedAttribute_feature" ),
getString( "_UI_PropertyDescriptor_description",
"_UI_DataAttribute_refersToConstructedAttribute_feature", "_UI_DataAttribute_type" ),
NsdPackage.Literals.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE,
true,
false,
true,
null,
null,
null ) );
}
/**
* This adds a property descriptor for the Refers To Enumeration feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addRefersToEnumerationPropertyDescriptor( Object object ) {
itemPropertyDescriptors.add(
createItemPropertyDescriptor( ( ( ComposeableAdapterFactory ) adapterFactory ).getRootAdapterFactory(),
getResourceLocator(),
getString( "_UI_DataAttribute_refersToEnumeration_feature" ),
getString( "_UI_PropertyDescriptor_description",
"_UI_DataAttribute_refersToEnumeration_feature", "_UI_DataAttribute_type" ),
NsdPackage.Literals.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION,
true,
false,
true,
null,
null,
null ) );
}
/**
* This adds a property descriptor for the Pres Cond feature.
* <!-- begin-user-doc -->
......
......@@ -68,6 +68,7 @@ public class EnumerationItemProvider extends TitledClassItemProvider {
addNamePropertyDescriptor( object );
addRefersToBaseEnumerationPropertyDescriptor( object );
addReferredByEnumerationAsBasePropertyDescriptor( object );
addReferredByDataAttributePropertyDescriptor( object );
}
return itemPropertyDescriptors;
}
......@@ -160,6 +161,28 @@ public class EnumerationItemProvider extends TitledClassItemProvider {
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_Enumeration_referredByDataAttribute_feature" ),
getString( "_UI_PropertyDescriptor_description",
"_UI_Enumeration_referredByDataAttribute_feature", "_UI_Enumeration_type" ),
NsdPackage.Literals.ENUMERATION__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
......
......@@ -641,6 +641,9 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="parentServiceTypeRealizations"
ordered="false" eType="#//ServiceTypeRealizations" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//ServiceTypeRealizations/serviceTypeRealization"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute"
ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToConstructedAttribute"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ConstructedAttributes" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
......@@ -762,6 +765,12 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToBasicType" ordered="false"
eType="#//BasicType" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//BasicType/referredByDataAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToConstructedAttribute"
ordered="false" eType="#//ConstructedAttribute" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//ConstructedAttribute/referredByDataAttribute"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refersToEnumeration" ordered="false"
eType="#//Enumeration" transient="true" unsettable="true" resolveProxies="false"
eOpposite="#//Enumeration/referredByDataAttribute"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//DocumentedClass #//AgPresenceCondition #//AgPresenceConditionDerivedStatistics #//AgUnderlyingType">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
......@@ -1001,6 +1010,9 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByEnumerationAsBase"
ordered="false" upperBound="-1" eType="#//Enumeration" transient="true" unsettable="true"
resolveProxies="false" eOpposite="#//Enumeration/refersToBaseEnumeration"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredByDataAttribute"
ordered="false" upperBound="-1" eType="#//DataAttribute" transient="true"
unsettable="true" resolveProxies="false" eOpposite="#//DataAttribute/refersToEnumeration"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Enumerations" eSuperTypes="#//NsdObject">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
......@@ -1285,6 +1297,10 @@
<eParameters name="basicTypeName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eParameters name="console" eType="#//IRiseClipseConsole"/>
</eOperations>
<eOperations name="findConstructedAttribute" eType="#//ConstructedAttribute">
<eParameters name="constructedAttributeName" 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/parentNS">
......
......@@ -203,6 +203,7 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//ConstructedAttribute/name"/>
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/parentConstructedAttributes"/>
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/parentServiceTypeRealizations"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttribute/referredByDataAttribute"/>
</genClasses>
<genClasses ecoreClass="nsd.ecore#//ConstructedAttributes">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//ConstructedAttributes/constructedAttribute"/>
......@@ -229,6 +230,8 @@
<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"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToBasicType"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToConstructedAttribute"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//DataAttribute/refersToEnumeration"/>
</genClasses>
<genClasses ecoreClass="nsd.ecore#//DataObject">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nsd.ecore#//DataObject/name"/>
......@@ -271,6 +274,7 @@
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/parentEnumerations"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/refersToBaseEnumeration"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/referredByEnumerationAsBase"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumeration/referredByDataAttribute"/>
</genClasses>
<genClasses ecoreClass="nsd.ecore#//Enumerations">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//Enumerations/enumeration"/>
......@@ -348,6 +352,10 @@
<genParameters ecoreParameter="nsd.ecore#//NS/findBasicType/basicTypeName"/>
<genParameters ecoreParameter="nsd.ecore#//NS/findBasicType/console"/>
</genOperations>
<genOperations ecoreOperation="nsd.ecore#//NS/findConstructedAttribute">
<genParameters ecoreParameter="nsd.ecore#//NS/findConstructedAttribute/constructedAttributeName"/>
<genParameters ecoreParameter="nsd.ecore#//NS/findConstructedAttribute/console"/>
</genOperations>
</genClasses>
<genClasses ecoreClass="nsd.ecore#//NSDoc">
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nsd.ecore#//NSDoc/doc"/>
......
......@@ -34,6 +34,7 @@ import org.eclipse.emf.common.util.EList;
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getName <em>Name</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getParentConstructedAttributes <em>Parent Constructed Attributes</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getParentServiceTypeRealizations <em>Parent Service Type Realizations</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li>
* </ul>
*
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getConstructedAttribute()
......@@ -183,4 +184,41 @@ public interface ConstructedAttribute extends TitledClass {
*/
void setParentServiceTypeRealizations( ServiceTypeRealizations 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#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}'.
* <!-- begin-user-doc -->
* <!-- 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#getConstructedAttribute_ReferredByDataAttribute()
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute
* @model opposite="refersToConstructedAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false"
* @generated
*/
EList< DataAttribute > getReferredByDataAttribute();
/**
* Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#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.ConstructedAttribute#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();
} // ConstructedAttribute
......@@ -42,6 +42,8 @@ import org.eclipse.emf.common.util.EList;
* <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>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToBasicType <em>Refers To Basic Type</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}</li>
* </ul>
*
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute()
......@@ -615,4 +617,106 @@ public interface DataAttribute
*/
boolean isSetRefersToBasicType();
/**
* Returns the value of the '<em><b>Refers To Constructed Attribute</b></em>' reference.
* It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Refers To Constructed Attribute</em>' reference.
* @see #isSetRefersToConstructedAttribute()
* @see #unsetRefersToConstructedAttribute()
* @see #setRefersToConstructedAttribute(ConstructedAttribute)
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_RefersToConstructedAttribute()
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute#getReferredByDataAttribute
* @model opposite="referredByDataAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false"
* @generated
*/
ConstructedAttribute getRefersToConstructedAttribute();
/**
* Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Refers To Constructed Attribute</em>' reference.
* @see #isSetRefersToConstructedAttribute()
* @see #unsetRefersToConstructedAttribute()
* @see #getRefersToConstructedAttribute()
* @generated
*/
void setRefersToConstructedAttribute( ConstructedAttribute value );
/**
* Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetRefersToConstructedAttribute()
* @see #getRefersToConstructedAttribute()
* @see #setRefersToConstructedAttribute(ConstructedAttribute)
* @generated
*/
void unsetRefersToConstructedAttribute();
/**
* Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToConstructedAttribute <em>Refers To Constructed Attribute</em>}' reference is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Refers To Constructed Attribute</em>' reference is set.
* @see #unsetRefersToConstructedAttribute()
* @see #getRefersToConstructedAttribute()
* @see #setRefersToConstructedAttribute(ConstructedAttribute)
* @generated
*/
boolean isSetRefersToConstructedAttribute();
/**
* Returns the value of the '<em><b>Refers To Enumeration</b></em>' reference.
* It is bidirectional and its opposite is '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Refers To Enumeration</em>' reference.
* @see #isSetRefersToEnumeration()
* @see #unsetRefersToEnumeration()
* @see #setRefersToEnumeration(Enumeration)
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getDataAttribute_RefersToEnumeration()
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute
* @model opposite="referredByDataAttribute" resolveProxies="false" unsettable="true" transient="true" ordered="false"
* @generated
*/
Enumeration getRefersToEnumeration();
/**
* Sets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Refers To Enumeration</em>' reference.
* @see #isSetRefersToEnumeration()
* @see #unsetRefersToEnumeration()
* @see #getRefersToEnumeration()
* @generated
*/
void setRefersToEnumeration( Enumeration value );
/**
* Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #isSetRefersToEnumeration()
* @see #getRefersToEnumeration()
* @see #setRefersToEnumeration(Enumeration)
* @generated
*/
void unsetRefersToEnumeration();
/**
* Returns whether the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration <em>Refers To Enumeration</em>}' reference is set.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return whether the value of the '<em>Refers To Enumeration</em>' reference is set.
* @see #unsetRefersToEnumeration()
* @see #getRefersToEnumeration()
* @see #setRefersToEnumeration(Enumeration)
* @generated
*/
boolean isSetRefersToEnumeration();
} // DataAttribute
......@@ -36,6 +36,7 @@ import org.eclipse.emf.common.util.EList;
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getParentEnumerations <em>Parent Enumerations</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getRefersToBaseEnumeration <em>Refers To Base Enumeration</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByEnumerationAsBase <em>Referred By Enumeration As Base</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li>
* </ul>
*
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage#getEnumeration()
......@@ -307,4 +308,41 @@ public interface Enumeration extends TitledClass {
*/
boolean isSetReferredByEnumerationAsBase();
/**
* 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#getRefersToEnumeration <em>Refers To Enumeration</em>}'.
* <!-- begin-user-doc -->
* <!-- 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#getEnumeration_ReferredByDataAttribute()
* @see fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute#getRefersToEnumeration
* @model opposite="refersToEnumeration" resolveProxies="false" unsettable="true" transient="true" ordered="false"
* @generated
*/
EList< DataAttribute > getReferredByDataAttribute();
/**
* Unsets the value of the '{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumeration#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.Enumeration#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();
} // Enumeration
......@@ -651,4 +651,12 @@ public interface NS extends Copyrighted, AgNSIdentification, AgUML, AgNSdesc {
*/
BasicType findBasicType( String basicTypeName, IRiseClipseConsole console );
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model consoleType="fr.centralesupelec.edf.riseclipse.iec61850.nsd.IRiseClipseConsole"
* @generated
*/
ConstructedAttribute findConstructedAttribute( String constructedAttributeName, IRiseClipseConsole console );
} // NS
......@@ -21,6 +21,7 @@ package fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttribute;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ConstructedAttributes;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.DataAttribute;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.NsdPackage;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.ServiceTypeRealizations;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.SubDataAttribute;
......@@ -37,6 +38,7 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EObjectWithInverseEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
......@@ -52,6 +54,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getName <em>Name</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getParentConstructedAttributes <em>Parent Constructed Attributes</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getParentServiceTypeRealizations <em>Parent Service Type Realizations</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.ConstructedAttributeImpl#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li>
* </ul>
*
* @generated
......@@ -96,6 +99,16 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
*/
protected boolean nameESet;
/**
* 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 -->
......@@ -303,6 +316,41 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
newParentServiceTypeRealizations, newParentServiceTypeRealizations ) );
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EList< DataAttribute > getReferredByDataAttribute() {
if( referredByDataAttribute == null ) {
referredByDataAttribute = new EObjectWithInverseEList.Unsettable< DataAttribute >( DataAttribute.class,
this, NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE,
NsdPackage.DATA_ATTRIBUTE__REFERS_TO_CONSTRUCTED_ATTRIBUTE );
}
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 -->
......@@ -323,6 +371,9 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
if( eInternalContainer() != null )
msgs = eBasicRemoveFromContainer( msgs );
return basicSetParentServiceTypeRealizations( ( ServiceTypeRealizations ) otherEnd, msgs );
case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE:
return ( ( InternalEList< InternalEObject > ) ( InternalEList< ? > ) getReferredByDataAttribute() )
.basicAdd( otherEnd, msgs );
}
return super.eInverseAdd( otherEnd, featureID, msgs );
}
......@@ -341,6 +392,8 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
return basicSetParentConstructedAttributes( null, msgs );
case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS:
return basicSetParentServiceTypeRealizations( null, msgs );
case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE:
return ( ( InternalEList< ? > ) getReferredByDataAttribute() ).basicRemove( otherEnd, msgs );
}
return super.eInverseRemove( otherEnd, featureID, msgs );
}
......@@ -380,6 +433,8 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
return getParentConstructedAttributes();
case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS:
return getParentServiceTypeRealizations();
case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE:
return getReferredByDataAttribute();
}
return super.eGet( featureID, resolve, coreType );
}
......@@ -406,6 +461,10 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS:
setParentServiceTypeRealizations( ( ServiceTypeRealizations ) newValue );
return;
case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE:
getReferredByDataAttribute().clear();
getReferredByDataAttribute().addAll( ( Collection< ? extends DataAttribute > ) newValue );
return;
}
super.eSet( featureID, newValue );
}
......@@ -430,6 +489,9 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS:
setParentServiceTypeRealizations( ( ServiceTypeRealizations ) null );
return;
case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE:
unsetReferredByDataAttribute();
return;
}
super.eUnset( featureID );
}
......@@ -450,6 +512,8 @@ public class ConstructedAttributeImpl extends TitledClassImpl implements Constru
return getParentConstructedAttributes() != null;
case NsdPackage.CONSTRUCTED_ATTRIBUTE__PARENT_SERVICE_TYPE_REALIZATIONS:
return getParentServiceTypeRealizations() != null;
case NsdPackage.CONSTRUCTED_ATTRIBUTE__REFERRED_BY_DATA_ATTRIBUTE:
return isSetReferredByDataAttribute();
}
return super.eIsSet( featureID );
}
......
......@@ -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.Enumeration;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Enumerations;
import fr.centralesupelec.edf.riseclipse.iec61850.nsd.Literal;
......@@ -56,6 +57,7 @@ import org.eclipse.emf.ecore.util.InternalEList;
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getParentEnumerations <em>Parent Enumerations</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getRefersToBaseEnumeration <em>Refers To Base Enumeration</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getReferredByEnumerationAsBase <em>Referred By Enumeration As Base</em>}</li>
* <li>{@link fr.centralesupelec.edf.riseclipse.iec61850.nsd.impl.EnumerationImpl#getReferredByDataAttribute <em>Referred By Data Attribute</em>}</li>
* </ul>
*
* @generated
......@@ -158,6 +160,16 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration {
*/
protected EList< Enumeration > referredByEnumerationAsBase;
/**
* 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 -->
......@@ -517,6 +529,41 @@ public class EnumerationImpl extends TitledClassImpl implements Enumeration {
&& ( ( InternalEList.Unsettable< ? > ) referredByEnumerationAsBase ).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.ENUMERATION__REFERRED_BY_DATA_ATTRIBUTE,
NsdPackage.DATA_ATTRIBUTE__REFERS_TO_ENUMERATION );
}
return referredByDataAttribute;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/