| 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(); |
| } |
| } |