package org.lucci.madhoc.simulation.measure;
import org.lucci.madhoc.simulation.projection.Projection;
public abstract class NumericalSensor extends Sensor
{
private int precision = 9;
public abstract Double takeNewDoubleValue(Projection projection);
@Override
public final Object takeNewValue(Projection projection)
{
return takeNewDoubleValue(projection);
}
public abstract Unit getUnit();
public Class getValueClass()
{
return java.lang.Double.class;
}
public int getPrecision()
{
return precision;
}
public void setPrecision(int precision)
{
if (precision < 0)
throw new IllegalArgumentException();
this.precision = precision;
}
public MeasureHistory createMeasureHistory()
{
MeasureHistory r = new NumericalMeasureHistory();
r.setSensor(this);
return r;
}
}