Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java')
-rw-r--r--extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java249
1 files changed, 202 insertions, 47 deletions
diff --git a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java
index c3f6bf9d34c..e5539704565 100644
--- a/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java
+++ b/extraplugins/eastadl/org.eclipse.papyrus.eastadl/src/org/eclipse/papyrus/eastadl/variability/impl/SelectionCriterionImpl.java
@@ -23,10 +23,15 @@ 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.EObjectResolvingEList;
+import org.eclipse.papyrus.eastadl.infrastructure.datatypes.EADatatype;
import org.eclipse.papyrus.eastadl.infrastructure.elements.impl.EAElementImpl;
+import org.eclipse.papyrus.eastadl.infrastructure.values.EAExpression;
+import org.eclipse.papyrus.eastadl.infrastructure.values.EAValue;
+import org.eclipse.papyrus.eastadl.infrastructure.values.ValuesPackage;
import org.eclipse.papyrus.eastadl.variability.SelectionCriterion;
import org.eclipse.papyrus.eastadl.variability.VariabilityPackage;
import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.ValueSpecification;
/**
@@ -36,20 +41,40 @@ import org.eclipse.uml2.uml.NamedElement;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getSource <em>Source</em>}</li>
- * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getBase_ValueSpecification <em>Base Value Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getSource <em>Source</em>}</li>
+ * <li>{@link org.eclipse.papyrus.eastadl.variability.impl.SelectionCriterionImpl#getBase_Class <em>Base Class</em>}</li>
* </ul>
* </p>
- *
+ *
* @generated
*/
public class SelectionCriterionImpl extends EAElementImpl implements SelectionCriterion {
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected EADatatype type;
+
+ /**
+ * The cached value of the '{@link #getBase_ValueSpecification() <em>Base Value Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ValueSpecification()
+ * @generated
+ * @ordered
+ */
+ protected ValueSpecification base_ValueSpecification;
/**
* The cached value of the '{@link #getSource() <em>Source</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @see #getSource()
* @generated
* @ordered
@@ -60,7 +85,6 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
* The cached value of the '{@link #getBase_Class() <em>Base Class</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @see #getBase_Class()
* @generated
* @ordered
@@ -70,7 +94,6 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
protected SelectionCriterionImpl() {
@@ -80,18 +103,22 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch(featureID) {
- case VariabilityPackage.SELECTION_CRITERION__SOURCE:
- return getSource();
- case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
- if(resolve)
- return getBase_Class();
- return basicGetBase_Class();
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__TYPE:
+ if (resolve) return getType();
+ return basicGetType();
+ case VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION:
+ if (resolve) return getBase_ValueSpecification();
+ return basicGetBase_ValueSpecification();
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ return getSource();
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ if (resolve) return getBase_Class();
+ return basicGetBase_Class();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -99,16 +126,19 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
- switch(featureID) {
- case VariabilityPackage.SELECTION_CRITERION__SOURCE:
- return source != null && !source.isEmpty();
- case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
- return base_Class != null;
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__TYPE:
+ return type != null;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION:
+ return base_ValueSpecification != null;
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ return source != null && !source.isEmpty();
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ return base_Class != null;
}
return super.eIsSet(featureID);
}
@@ -116,20 +146,69 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == EAValue.class) {
+ switch (derivedFeatureID) {
+ case VariabilityPackage.SELECTION_CRITERION__TYPE: return ValuesPackage.EA_VALUE__TYPE;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION: return ValuesPackage.EA_VALUE__BASE_VALUE_SPECIFICATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAExpression.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == EAValue.class) {
+ switch (baseFeatureID) {
+ case ValuesPackage.EA_VALUE__TYPE: return VariabilityPackage.SELECTION_CRITERION__TYPE;
+ case ValuesPackage.EA_VALUE__BASE_VALUE_SPECIFICATION: return VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION;
+ default: return -1;
+ }
+ }
+ if (baseClass == EAExpression.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
- switch(featureID) {
- case VariabilityPackage.SELECTION_CRITERION__SOURCE:
- getSource().clear();
- getSource().addAll((Collection<? extends NamedElement>)newValue);
- return;
- case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
- setBase_Class((org.eclipse.uml2.uml.Class)newValue);
- return;
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__TYPE:
+ setType((EADatatype)newValue);
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION:
+ setBase_ValueSpecification((ValueSpecification)newValue);
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ getSource().clear();
+ getSource().addAll((Collection<? extends NamedElement>)newValue);
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)newValue);
+ return;
}
super.eSet(featureID, newValue);
}
@@ -137,7 +216,6 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
@Override
@@ -148,18 +226,99 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
+ * @generated
+ */
+ public EADatatype getType() {
+ if (type != null && type.eIsProxy()) {
+ InternalEObject oldType = (InternalEObject)type;
+ type = (EADatatype)eResolveProxy(oldType);
+ if (type != oldType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.SELECTION_CRITERION__TYPE, oldType, type));
+ }
+ }
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EADatatype basicGetType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(EADatatype newType) {
+ EADatatype oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.SELECTION_CRITERION__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification getBase_ValueSpecification() {
+ if (base_ValueSpecification != null && base_ValueSpecification.eIsProxy()) {
+ InternalEObject oldBase_ValueSpecification = (InternalEObject)base_ValueSpecification;
+ base_ValueSpecification = (ValueSpecification)eResolveProxy(oldBase_ValueSpecification);
+ if (base_ValueSpecification != oldBase_ValueSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION, oldBase_ValueSpecification, base_ValueSpecification));
+ }
+ }
+ return base_ValueSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetBase_ValueSpecification() {
+ return base_ValueSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ValueSpecification(ValueSpecification newBase_ValueSpecification) {
+ ValueSpecification oldBase_ValueSpecification = base_ValueSpecification;
+ base_ValueSpecification = newBase_ValueSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION, oldBase_ValueSpecification, base_ValueSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
- switch(featureID) {
- case VariabilityPackage.SELECTION_CRITERION__SOURCE:
- getSource().clear();
- return;
- case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
- setBase_Class((org.eclipse.uml2.uml.Class)null);
- return;
+ switch (featureID) {
+ case VariabilityPackage.SELECTION_CRITERION__TYPE:
+ setType((EADatatype)null);
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_VALUE_SPECIFICATION:
+ setBase_ValueSpecification((ValueSpecification)null);
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__SOURCE:
+ getSource().clear();
+ return;
+ case VariabilityPackage.SELECTION_CRITERION__BASE_CLASS:
+ setBase_Class((org.eclipse.uml2.uml.Class)null);
+ return;
}
super.eUnset(featureID);
}
@@ -167,11 +326,10 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public EList<NamedElement> getSource() {
- if(source == null) {
+ if (source == null) {
source = new EObjectResolvingEList<NamedElement>(NamedElement.class, this, VariabilityPackage.SELECTION_CRITERION__SOURCE);
}
return source;
@@ -180,15 +338,14 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public org.eclipse.uml2.uml.Class getBase_Class() {
- if(base_Class != null && base_Class.eIsProxy()) {
+ if (base_Class != null && base_Class.eIsProxy()) {
InternalEObject oldBase_Class = (InternalEObject)base_Class;
base_Class = (org.eclipse.uml2.uml.Class)eResolveProxy(oldBase_Class);
- if(base_Class != oldBase_Class) {
- if(eNotificationRequired())
+ if (base_Class != oldBase_Class) {
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariabilityPackage.SELECTION_CRITERION__BASE_CLASS, oldBase_Class, base_Class));
}
}
@@ -198,7 +355,6 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public org.eclipse.uml2.uml.Class basicGetBase_Class() {
@@ -208,13 +364,12 @@ public class SelectionCriterionImpl extends EAElementImpl implements SelectionCr
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- *
* @generated
*/
public void setBase_Class(org.eclipse.uml2.uml.Class newBase_Class) {
org.eclipse.uml2.uml.Class oldBase_Class = base_Class;
base_Class = newBase_Class;
- if(eNotificationRequired())
+ if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, VariabilityPackage.SELECTION_CRITERION__BASE_CLASS, oldBase_Class, base_Class));
}

Back to the top