blob: 68faad5d51672e95876d7c7632d1abea63a80d6f [file] [log] [blame]
package org.codehaus.jackson.node;
import java.math.BigDecimal;
import java.math.BigInteger;
import org.codehaus.jackson.JsonParser;
/**
* Intermediate value node used for numeric nodes.
*/
public abstract class NumericNode
extends ValueNode
{
protected NumericNode() { }
@Override
public final boolean isNumber() { return true; }
// // // Let's re-abstract so sub-classes handle them
@Override
public abstract JsonParser.NumberType getNumberType();
@Override
public abstract Number getNumberValue();
@Override
public abstract int getIntValue();
@Override
public abstract long getLongValue();
@Override
public abstract double getDoubleValue();
@Override
public abstract BigDecimal getDecimalValue();
@Override
public abstract BigInteger getBigIntegerValue();
/*
/**********************************************************
/* General type coercions
/**********************************************************
*/
@Override
public abstract String asText();
@Override
public int asInt() {
return getIntValue();
}
@Override
public int asInt(int defaultValue) {
return getIntValue();
}
@Override
public long asLong() {
return getLongValue();
}
@Override
public long asLong(long defaultValue) {
return getLongValue();
}
@Override
public double asDouble() {
return getDoubleValue();
}
@Override
public double asDouble(double defaultValue) {
return getDoubleValue();
}
}