/** */ package org.eclipse.bpmn2.modeler.examples.customtask.MyModel.impl; import org.eclipse.bpmn2.BoundaryEvent; import org.eclipse.bpmn2.impl.FlowElementImpl; import org.eclipse.bpmn2.modeler.examples.customtask.MyModel.MyModelPackage; import org.eclipse.bpmn2.modeler.examples.customtask.MyModel.TemporalDependency; 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>Temporal Dependency</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.eclipse.bpmn2.modeler.examples.customtask.MyModel.impl.TemporalDependencyImpl#getSourceRef <em>Source Ref</em>}</li> * <li>{@link org.eclipse.bpmn2.modeler.examples.customtask.MyModel.impl.TemporalDependencyImpl#getTargetRef <em>Target Ref</em>}</li> * <li>{@link org.eclipse.bpmn2.modeler.examples.customtask.MyModel.impl.TemporalDependencyImpl#getLagTime <em>Lag Time</em>}</li> * </ul> * </p> * * @generated */ public class TemporalDependencyImpl extends FlowElementImpl implements TemporalDependency { /** * The cached value of the '{@link #getSourceRef() <em>Source Ref</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getSourceRef() * @generated * @ordered */ protected BoundaryEvent sourceRef; /** * The cached value of the '{@link #getTargetRef() <em>Target Ref</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getTargetRef() * @generated * @ordered */ protected BoundaryEvent targetRef; /** * The default value of the '{@link #getLagTime() <em>Lag Time</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLagTime() * @generated * @ordered */ protected static final String LAG_TIME_EDEFAULT = null; /** * The cached value of the '{@link #getLagTime() <em>Lag Time</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getLagTime() * @generated * @ordered */ protected String lagTime = LAG_TIME_EDEFAULT; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected TemporalDependencyImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return MyModelPackage.Literals.TEMPORAL_DEPENDENCY; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BoundaryEvent getSourceRef() { if (sourceRef != null && sourceRef.eIsProxy()) { InternalEObject oldSourceRef = (InternalEObject)sourceRef; sourceRef = (BoundaryEvent)eResolveProxy(oldSourceRef); if (sourceRef != oldSourceRef) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, MyModelPackage.TEMPORAL_DEPENDENCY__SOURCE_REF, oldSourceRef, sourceRef)); } } return sourceRef; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BoundaryEvent basicGetSourceRef() { return sourceRef; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setSourceRef(BoundaryEvent newSourceRef) { BoundaryEvent oldSourceRef = sourceRef; sourceRef = newSourceRef; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MyModelPackage.TEMPORAL_DEPENDENCY__SOURCE_REF, oldSourceRef, sourceRef)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BoundaryEvent getTargetRef() { if (targetRef != null && targetRef.eIsProxy()) { InternalEObject oldTargetRef = (InternalEObject)targetRef; targetRef = (BoundaryEvent)eResolveProxy(oldTargetRef); if (targetRef != oldTargetRef) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, MyModelPackage.TEMPORAL_DEPENDENCY__TARGET_REF, oldTargetRef, targetRef)); } } return targetRef; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public BoundaryEvent basicGetTargetRef() { return targetRef; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setTargetRef(BoundaryEvent newTargetRef) { BoundaryEvent oldTargetRef = targetRef; targetRef = newTargetRef; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MyModelPackage.TEMPORAL_DEPENDENCY__TARGET_REF, oldTargetRef, targetRef)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getLagTime() { return lagTime; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setLagTime(String newLagTime) { String oldLagTime = lagTime; lagTime = newLagTime; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, MyModelPackage.TEMPORAL_DEPENDENCY__LAG_TIME, oldLagTime, lagTime)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case MyModelPackage.TEMPORAL_DEPENDENCY__SOURCE_REF: if (resolve) return getSourceRef(); return basicGetSourceRef(); case MyModelPackage.TEMPORAL_DEPENDENCY__TARGET_REF: if (resolve) return getTargetRef(); return basicGetTargetRef(); case MyModelPackage.TEMPORAL_DEPENDENCY__LAG_TIME: return getLagTime(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case MyModelPackage.TEMPORAL_DEPENDENCY__SOURCE_REF: setSourceRef((BoundaryEvent)newValue); return; case MyModelPackage.TEMPORAL_DEPENDENCY__TARGET_REF: setTargetRef((BoundaryEvent)newValue); return; case MyModelPackage.TEMPORAL_DEPENDENCY__LAG_TIME: setLagTime((String)newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case MyModelPackage.TEMPORAL_DEPENDENCY__SOURCE_REF: setSourceRef((BoundaryEvent)null); return; case MyModelPackage.TEMPORAL_DEPENDENCY__TARGET_REF: setTargetRef((BoundaryEvent)null); return; case MyModelPackage.TEMPORAL_DEPENDENCY__LAG_TIME: setLagTime(LAG_TIME_EDEFAULT); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case MyModelPackage.TEMPORAL_DEPENDENCY__SOURCE_REF: return sourceRef != null; case MyModelPackage.TEMPORAL_DEPENDENCY__TARGET_REF: return targetRef != null; case MyModelPackage.TEMPORAL_DEPENDENCY__LAG_TIME: return LAG_TIME_EDEFAULT == null ? lagTime != null : !LAG_TIME_EDEFAULT.equals(lagTime); } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (lagTime: "); result.append(lagTime); result.append(')'); return result.toString(); } } //TemporalDependencyImpl