package org.csstudio.dal.simple.impl;
import org.csstudio.dal.DynamicValueProperty;
public final class DoubleAnyDataImpl extends AbstractAnyDataImpl<Double> {
public static final Double UNINITIALIZED_DOUBLE_VALUE = Double.NaN;
public DoubleAnyDataImpl(DynamicValueProperty<Double> property) {
super(property,Long.MIN_VALUE);
}
public DoubleAnyDataImpl(DynamicValueProperty<Double> property, long beamID) {
super(property, beamID);
}
@Override
public Object[] anySeqValue() {
return new Object[]{response.getNumber()};
}
@Override
public Object anyValue() {
return response.getNumber();
}
@Override
public double[] doubleSeqValue() {
return new double[]{response.getValue()};
}
@Override
public double doubleValue() {
/*
* beware: java.lang.Long cannot be cast to java.lang.Double
* old: return response.getValue();
*/
return DataUtil.castTo(response.getValue(), Double.class);
}
@Override
public long[] longSeqValue() {
return new long[]{response.getNumber().longValue()};
}
@Override
public long longValue() {
return response.getNumber().longValue();
}
@Override
public Number[] numberSeqValue() {
return new Number[]{response.getNumber()};
}
@Override
public Number numberValue() {
return response.getNumber();
}
@Override
public String[] stringSeqValue() {
return new String[]{response.getNumber().toString()};
}
@Override
public String stringValue() {
return response.getNumber().toString();
}
@Override
protected Double confirmValue(Double value) {
if (value != null) return value;
return UNINITIALIZED_DOUBLE_VALUE;
}
}