package com.growcontrol.common.meta.metaTypes;
import com.growcontrol.common.meta.MetaType;
import com.growcontrol.common.meta.exceptions.InvalidMetaValueException;
import com.poixson.commonjava.Utils.utils;
import com.poixson.commonjava.Utils.utilsNumbers;
public class MetaPH extends MetaType {
private static final long serialVersionUID = 31L;
public static final String TYPE_NAME = "pH";
protected volatile Double value = null;
public static MetaPH get() {
return new MetaPH();
}
public static MetaPH get(final double value) {
return new MetaPH(value);
}
public static MetaPH get(final String value) {
return new MetaPH(value);
}
@Override
public MetaPH clone() {
return new MetaPH(this);
}
public MetaPH() {
}
public MetaPH(final double value) {
this.set(value);
}
public MetaPH(final String value) {
this.set(value);
}
public MetaPH(final MetaPH value) {
this.set(value);
}
@Override
public String getTypeName() {
return TYPE_NAME;
}
// set value
public void set(final double value) {
this.value = new Double(value);
}
public void set(final Double value) {
this.value =
value == null
? null
: new Double(value.doubleValue());
}
@Override
public void set(final String value) {
if(utils.isEmpty(value)) {
this.value = null;
} else {
final Double d = utilsNumbers.toDouble(value);
if(d == null) throw new InvalidMetaValueException(value);
this.value = d;
}
}
public void set(final MetaPH value) {
this.value = value.value;
}
// get value
@Override
public Double getValue() {
if(this.value == null)
return null;
return new Double(this.value.doubleValue());
}
@Override
public String getString() {
if(this.value == null)
return null;
return this.value.toString();
}
}