blob: 4c6152533864995a9c5a5c4df136fa7777fd9069 [file] [log] [blame]
package org.eclipse.stem.diseasemodels.experimental.impl;
/*******************************************************************************
* Copyright (c) 2011 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
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;
import org.eclipse.stem.core.graph.LabelValue;
import org.eclipse.stem.diseasemodels.experimental.ExperimentalFactory;
import org.eclipse.stem.diseasemodels.experimental.ExperimentalPackage;
import org.eclipse.stem.diseasemodels.experimental.TBDiseaseModelLabel;
import org.eclipse.stem.diseasemodels.experimental.TBDiseaseModelLabelValue;
import org.eclipse.stem.diseasemodels.standard.impl.StandardDiseaseModelLabelImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>TB Disease Model Label</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.stem.diseasemodels.experimental.impl.TBDiseaseModelLabelImpl#getProbeValue <em>Probe Value</em>}</li>
* <li>{@link org.eclipse.stem.diseasemodels.experimental.impl.TBDiseaseModelLabelImpl#getDeltaValue <em>Delta Value</em>}</li>
* <li>{@link org.eclipse.stem.diseasemodels.experimental.impl.TBDiseaseModelLabelImpl#getTempValue <em>Temp Value</em>}</li>
* <li>{@link org.eclipse.stem.diseasemodels.experimental.impl.TBDiseaseModelLabelImpl#getErrorScale <em>Error Scale</em>}</li>
* </ul>
* </p>
*
* @generated
*/
public class TBDiseaseModelLabelImpl extends StandardDiseaseModelLabelImpl implements TBDiseaseModelLabel {
/**
* The cached value of the '{@link #getProbeValue() <em>Probe Value</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProbeValue()
* @generated
* @ordered
*/
protected TBDiseaseModelLabelValue probeValue;
/**
* The cached value of the '{@link #getDeltaValue() <em>Delta Value</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getDeltaValue()
* @generated
* @ordered
*/
protected TBDiseaseModelLabelValue deltaValue;
/**
* The cached value of the '{@link #getTempValue() <em>Temp Value</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTempValue()
* @generated
* @ordered
*/
protected TBDiseaseModelLabelValue tempValue;
/**
* The cached value of the '{@link #getErrorScale() <em>Error Scale</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getErrorScale()
* @generated
* @ordered
*/
protected TBDiseaseModelLabelValue errorScale;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
*/
protected TBDiseaseModelLabelImpl() {
super();
setCurrentValue(ExperimentalFactory.eINSTANCE.createTBDiseaseModelLabelValue());
setNextValue(ExperimentalFactory.eINSTANCE.createTBDiseaseModelLabelValue());
setTempValue(ExperimentalFactory.eINSTANCE.createTBDiseaseModelLabelValue());
setProbeValue(ExperimentalFactory.eINSTANCE.createTBDiseaseModelLabelValue());
setErrorScale(ExperimentalFactory.eINSTANCE.createTBDiseaseModelLabelValue());
setDeltaValue(ExperimentalFactory.eINSTANCE.createTBDiseaseModelLabelValue());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return ExperimentalPackage.Literals.TB_DISEASE_MODEL_LABEL;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue getProbeValue() {
if (probeValue != null && probeValue.eIsProxy()) {
InternalEObject oldProbeValue = (InternalEObject)probeValue;
probeValue = (TBDiseaseModelLabelValue)eResolveProxy(oldProbeValue);
if (probeValue != oldProbeValue) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__PROBE_VALUE, oldProbeValue, probeValue));
}
}
return probeValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue basicGetProbeValue() {
return probeValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setProbeValue(TBDiseaseModelLabelValue newProbeValue) {
TBDiseaseModelLabelValue oldProbeValue = probeValue;
probeValue = newProbeValue;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__PROBE_VALUE, oldProbeValue, probeValue));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue getDeltaValue() {
if (deltaValue != null && deltaValue.eIsProxy()) {
InternalEObject oldDeltaValue = (InternalEObject)deltaValue;
deltaValue = (TBDiseaseModelLabelValue)eResolveProxy(oldDeltaValue);
if (deltaValue != oldDeltaValue) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__DELTA_VALUE, oldDeltaValue, deltaValue));
}
}
return deltaValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue basicGetDeltaValue() {
return deltaValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setDeltaValue(TBDiseaseModelLabelValue newDeltaValue) {
TBDiseaseModelLabelValue oldDeltaValue = deltaValue;
deltaValue = newDeltaValue;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__DELTA_VALUE, oldDeltaValue, deltaValue));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue getTempValue() {
if (tempValue != null && tempValue.eIsProxy()) {
InternalEObject oldTempValue = (InternalEObject)tempValue;
tempValue = (TBDiseaseModelLabelValue)eResolveProxy(oldTempValue);
if (tempValue != oldTempValue) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__TEMP_VALUE, oldTempValue, tempValue));
}
}
return tempValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue basicGetTempValue() {
return tempValue;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTempValue(TBDiseaseModelLabelValue newTempValue) {
TBDiseaseModelLabelValue oldTempValue = tempValue;
tempValue = newTempValue;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__TEMP_VALUE, oldTempValue, tempValue));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue getErrorScale() {
if (errorScale != null && errorScale.eIsProxy()) {
InternalEObject oldErrorScale = (InternalEObject)errorScale;
errorScale = (TBDiseaseModelLabelValue)eResolveProxy(oldErrorScale);
if (errorScale != oldErrorScale) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__ERROR_SCALE, oldErrorScale, errorScale));
}
}
return errorScale;
}
public void setDeltaValue(LabelValue lv) {
this.deltaValue = (TBDiseaseModelLabelValue)lv;
}
public void setTempValue(LabelValue lv) {
this.tempValue = (TBDiseaseModelLabelValue)lv;
}
public void setProbeValue(LabelValue lv) {
this.probeValue = (TBDiseaseModelLabelValue)lv;
}
public void setErrorScale(LabelValue lv) {
this.errorScale = (TBDiseaseModelLabelValue)lv;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public TBDiseaseModelLabelValue basicGetErrorScale() {
return errorScale;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setErrorScale(TBDiseaseModelLabelValue newErrorScale) {
TBDiseaseModelLabelValue oldErrorScale = errorScale;
errorScale = newErrorScale;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, ExperimentalPackage.TB_DISEASE_MODEL_LABEL__ERROR_SCALE, oldErrorScale, errorScale));
}
@Override
public String toTooltipString() {
StringBuffer result = new StringBuffer();
TBDiseaseModelLabelValue tbVal = (TBDiseaseModelLabelValue)getCurrentDiseaseModelLabelValue();
double populationCount = tbVal.getPopulationCount();
if(populationCount == 0) populationCount = 1; // Avoid divide by 0, all zeros will be displayed for the compartments
result.append(getPopulationModelLabel() + ": ");
result.append("S:"); //$NON-NLS-1$
result.append(getPercentFormat().format( (getS()) / populationCount) );
result.append(", IA:"); //$NON-NLS-1$
result.append(getPercentFormat().format((tbVal.getIa()) / populationCount) );
result.append(", IL:"); //$NON-NLS-1$
result.append(getPercentFormat().format( (tbVal.getIl()) / populationCount) );
result.append(", DD:"); //$NON-NLS-1$
result.append(getPercentFormat().format( (tbVal.getDiseaseDeaths()) / populationCount) );
return result.toString();
} // toTooltipString
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__PROBE_VALUE:
if (resolve) return getProbeValue();
return basicGetProbeValue();
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__DELTA_VALUE:
if (resolve) return getDeltaValue();
return basicGetDeltaValue();
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__TEMP_VALUE:
if (resolve) return getTempValue();
return basicGetTempValue();
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__ERROR_SCALE:
if (resolve) return getErrorScale();
return basicGetErrorScale();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__PROBE_VALUE:
setProbeValue((TBDiseaseModelLabelValue)newValue);
return;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__DELTA_VALUE:
setDeltaValue((TBDiseaseModelLabelValue)newValue);
return;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__TEMP_VALUE:
setTempValue((TBDiseaseModelLabelValue)newValue);
return;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__ERROR_SCALE:
setErrorScale((TBDiseaseModelLabelValue)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__PROBE_VALUE:
setProbeValue((TBDiseaseModelLabelValue)null);
return;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__DELTA_VALUE:
setDeltaValue((TBDiseaseModelLabelValue)null);
return;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__TEMP_VALUE:
setTempValue((TBDiseaseModelLabelValue)null);
return;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__ERROR_SCALE:
setErrorScale((TBDiseaseModelLabelValue)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__PROBE_VALUE:
return probeValue != null;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__DELTA_VALUE:
return deltaValue != null;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__TEMP_VALUE:
return tempValue != null;
case ExperimentalPackage.TB_DISEASE_MODEL_LABEL__ERROR_SCALE:
return errorScale != null;
}
return super.eIsSet(featureID);
}
} //TBDiseaseModelLabelImpl