162 lines
3.4 KiB
Java
162 lines
3.4 KiB
Java
/**
|
|
*/
|
|
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;
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* An implementation of the model object '<em><b>Link</b></em>'.
|
|
* <!-- end-user-doc -->
|
|
* <p>
|
|
* The following features are implemented:
|
|
* </p>
|
|
* <ul>
|
|
* <li>{@link fr.tpt.mem4csd.loss.impl.LinkImpl#getReferenceTo <em>Reference To</em>}</li>
|
|
* </ul>
|
|
*
|
|
* @generated
|
|
*/
|
|
public class LinkImpl extends PrimitiveImpl implements Link {
|
|
/**
|
|
* The cached value of the '{@link #getReferenceTo() <em>Reference To</em>}' reference.
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @see #getReferenceTo()
|
|
* @generated
|
|
* @ordered
|
|
*/
|
|
protected Complex referenceTo;
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @generated
|
|
*/
|
|
protected LinkImpl() {
|
|
super();
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @generated
|
|
*/
|
|
@Override
|
|
protected EClass eStaticClass() {
|
|
return LossPackage.Literals.LINK;
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @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;
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @generated
|
|
*/
|
|
public Complex basicGetReferenceTo() {
|
|
return referenceTo;
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @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));
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @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);
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @generated
|
|
*/
|
|
@Override
|
|
public void eSet(int featureID, Object newValue) {
|
|
switch (featureID) {
|
|
case LossPackage.LINK__REFERENCE_TO:
|
|
setReferenceTo((Complex) newValue);
|
|
return;
|
|
}
|
|
super.eSet(featureID, newValue);
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @generated
|
|
*/
|
|
@Override
|
|
public void eUnset(int featureID) {
|
|
switch (featureID) {
|
|
case LossPackage.LINK__REFERENCE_TO:
|
|
setReferenceTo((Complex) null);
|
|
return;
|
|
}
|
|
super.eUnset(featureID);
|
|
}
|
|
|
|
/**
|
|
* <!-- begin-user-doc -->
|
|
* <!-- end-user-doc -->
|
|
* @generated
|
|
*/
|
|
@Override
|
|
public boolean eIsSet(int featureID) {
|
|
switch (featureID) {
|
|
case LossPackage.LINK__REFERENCE_TO:
|
|
return referenceTo != null;
|
|
}
|
|
return super.eIsSet(featureID);
|
|
}
|
|
|
|
} //LinkImpl
|