/** */ package fr.tpt.mem4csd.loss.impl; import fr.tpt.mem4csd.loss.Complex; import fr.tpt.mem4csd.loss.Link; import fr.tpt.mem4csd.loss.LossPackage; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; /** * * An implementation of the model object 'Link'. * *

* The following features are implemented: *

* * * @generated */ public class LinkImpl extends PrimitiveImpl implements Link { /** * The cached value of the '{@link #getReferenceTo() Reference To}' reference. * * * @see #getReferenceTo() * @generated * @ordered */ protected Complex referenceTo; /** * * * @generated */ protected LinkImpl() { super(); } /** * * * @generated */ @Override protected EClass eStaticClass() { return LossPackage.Literals.LINK; } /** * * * @generated */ @Override public Complex getReferenceTo() { if (referenceTo != null && referenceTo.eIsProxy()) { InternalEObject oldReferenceTo = (InternalEObject) referenceTo; referenceTo = (Complex) eResolveProxy(oldReferenceTo); if (referenceTo != oldReferenceTo) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, LossPackage.LINK__REFERENCE_TO, oldReferenceTo, referenceTo)); } } return referenceTo; } /** * * * @generated */ public Complex basicGetReferenceTo() { return referenceTo; } /** * * * @generated */ @Override public void setReferenceTo(Complex newReferenceTo) { Complex oldReferenceTo = referenceTo; referenceTo = newReferenceTo; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, LossPackage.LINK__REFERENCE_TO, oldReferenceTo, referenceTo)); } /** * * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case LossPackage.LINK__REFERENCE_TO: if (resolve) return getReferenceTo(); return basicGetReferenceTo(); } return super.eGet(featureID, resolve, coreType); } /** * * * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case LossPackage.LINK__REFERENCE_TO: setReferenceTo((Complex) newValue); return; } super.eSet(featureID, newValue); } /** * * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case LossPackage.LINK__REFERENCE_TO: setReferenceTo((Complex) null); return; } super.eUnset(featureID); } /** * * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case LossPackage.LINK__REFERENCE_TO: return referenceTo != null; } return super.eIsSet(featureID); } } //LinkImpl