org.codehaus.jackson.node
Class NumericNode

java.lang.Object
  extended by org.codehaus.jackson.JsonNode
      extended by org.codehaus.jackson.node.BaseJsonNode
          extended by org.codehaus.jackson.node.ValueNode
              extended by org.codehaus.jackson.node.NumericNode
All Implemented Interfaces:
Iterable<JsonNode>, JsonSerializable, JsonSerializableWithType
Direct Known Subclasses:
BigIntegerNode, DecimalNode, DoubleNode, IntNode, LongNode

public abstract class NumericNode
extends ValueNode

Intermediate value node used for numeric nodes.


Field Summary
 
Fields inherited from class org.codehaus.jackson.JsonNode
NO_NODES, NO_STRINGS
 
Constructor Summary
protected NumericNode()
           
 
Method Summary
abstract  BigInteger getBigIntegerValue()
           
abstract  BigDecimal getDecimalValue()
           
abstract  double getDoubleValue()
           
abstract  int getIntValue()
          Returns integer value for this node, if and only if this node is numeric (JsonNode.isNumber() returns true).
abstract  long getLongValue()
           
abstract  JsonParser.NumberType getNumberType()
          If this node is a numeric type (as per JsonNode.isNumber()), returns native type that node uses to store the numeric value.
abstract  Number getNumberValue()
          Returns numeric value for this node, if and only if this node is numeric (JsonNode.isNumber() returns true); otherwise returns null
 double getValueAsDouble()
          Method that will try to convert value of this node to a Java double.
 double getValueAsDouble(double defaultValue)
          Method that will try to convert value of this node to a Java double.
 int getValueAsInt()
          Method that will try to convert value of this node to a Java int.
 int getValueAsInt(int defaultValue)
          Method that will try to convert value of this node to a Java int.
 long getValueAsLong()
          Method that will try to convert value of this node to a Java long.
 long getValueAsLong(long defaultValue)
          Method that will try to convert value of this node to a Java long.
abstract  String getValueAsText()
          Method that will return valid String representation of the container value, if the node is a value node (method JsonNode.isValueNode() returns true), otherwise null.
 boolean isNumber()
           
 
Methods inherited from class org.codehaus.jackson.node.ValueNode
asToken, isValueNode, path, path, serializeWithType, toString
 
Methods inherited from class org.codehaus.jackson.node.BaseJsonNode
findParent, findParents, findPath, findValue, findValues, findValuesAsText, serialize, traverse, writeTo
 
Methods inherited from class org.codehaus.jackson.JsonNode
equals, findParents, findValues, findValuesAsText, get, get, getBinaryValue, getBooleanValue, getElements, getElementValue, getFieldNames, getFields, getFieldValue, getPath, getPath, getTextValue, getValueAsBoolean, getValueAsBoolean, has, has, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isObject, isPojo, isTextual, iterator, size, with
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NumericNode

protected NumericNode()
Method Detail

isNumber

public final boolean isNumber()
Overrides:
isNumber in class JsonNode
Returns:
True if this node represents a numeric Json value

getNumberType

public abstract JsonParser.NumberType getNumberType()
Description copied from class: JsonNode
If this node is a numeric type (as per JsonNode.isNumber()), returns native type that node uses to store the numeric value.

Overrides:
getNumberType in class BaseJsonNode

getNumberValue

public abstract Number getNumberValue()
Description copied from class: JsonNode
Returns numeric value for this node, if and only if this node is numeric (JsonNode.isNumber() returns true); otherwise returns null

Overrides:
getNumberValue in class JsonNode
Returns:
Number value this node contains, if any (null for non-number nodes).

getIntValue

public abstract int getIntValue()
Description copied from class: JsonNode
Returns integer value for this node, if and only if this node is numeric (JsonNode.isNumber() returns true). For other types returns 0. For floating-point numbers, value is truncated using default Java coercion, similar to how cast from double to int operates.

Overrides:
getIntValue in class JsonNode
Returns:
Integer value this node contains, if any; 0 for non-number nodes.

getLongValue

public abstract long getLongValue()
Overrides:
getLongValue in class JsonNode

getDoubleValue

public abstract double getDoubleValue()
Overrides:
getDoubleValue in class JsonNode

getDecimalValue

public abstract BigDecimal getDecimalValue()
Overrides:
getDecimalValue in class JsonNode

getBigIntegerValue

public abstract BigInteger getBigIntegerValue()
Overrides:
getBigIntegerValue in class JsonNode

getValueAsText

public abstract String getValueAsText()
Description copied from class: JsonNode
Method that will return valid String representation of the container value, if the node is a value node (method JsonNode.isValueNode() returns true), otherwise null.

Note: to serialize nodes of any type, you should call JsonNode.toString() instead.

Specified by:
getValueAsText in class JsonNode

getValueAsInt

public int getValueAsInt()
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java int. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an int (including structured types like Objects and Arrays), default value of 0 will be returned; no exceptions are thrown.

Overrides:
getValueAsInt in class JsonNode

getValueAsInt

public int getValueAsInt(int defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java int. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
getValueAsInt in class JsonNode

getValueAsLong

public long getValueAsLong()
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java long. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an long (including structured types like Objects and Arrays), default value of 0 will be returned; no exceptions are thrown.

Overrides:
getValueAsLong in class JsonNode

getValueAsLong

public long getValueAsLong(long defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java long. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an long (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
getValueAsLong in class JsonNode

getValueAsDouble

public double getValueAsDouble()
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java double. Numbers are coerced using default Java rules; booleans convert to 0.0 (false) and 1.0 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an int (including structured types like Objects and Arrays), default value of 0.0 will be returned; no exceptions are thrown.

Overrides:
getValueAsDouble in class JsonNode

getValueAsDouble

public double getValueAsDouble(double defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java double. Numbers are coerced using default Java rules; booleans convert to 0.0 (false) and 1.0 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
getValueAsDouble in class JsonNode