/**
* Copyright (C) 2011-2012 Typesafe Inc. <http://typesafe.com>
*/
package org.deephacks.confit.internal.core.property.typesafe.impl;
import java.io.ObjectStreamException;
import java.io.Serializable;
import org.deephacks.confit.internal.core.property.typesafe.ConfigOrigin;
import org.deephacks.confit.internal.core.property.typesafe.ConfigValueType;
final class ConfigLong extends ConfigNumber implements Serializable {
private static final long serialVersionUID = 2L;
final private long value;
ConfigLong(ConfigOrigin origin, long value, String originalText) {
super(origin, originalText);
this.value = value;
}
@Override
public ConfigValueType valueType() {
return ConfigValueType.NUMBER;
}
@Override
public Long unwrapped() {
return value;
}
@Override
String transformToString() {
String s = super.transformToString();
if (s == null)
return Long.toString(value);
else
return s;
}
@Override
protected long longValue() {
return value;
}
@Override
protected double doubleValue() {
return value;
}
@Override
protected ConfigLong newCopy(ConfigOrigin origin) {
return new ConfigLong(origin, value, originalText);
}
// serialization list goes through SerializedConfigValue
private Object writeReplace() throws ObjectStreamException {
return new SerializedConfigValue(this);
}
}