NumericNode (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.node

## Class NumericNode

- java.lang.Object
- - org.codehaus.jackson.JsonNode
  - - org.codehaus.jackson.node.BaseJsonNode
    - - org.codehaus.jackson.node.ValueNode
      - - 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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `NumericNode()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `asDouble()` Method that will try to convert value of this node to a Java double.
    `double` | `asDouble(double defaultValue)` Method that will try to convert value of this node to a Java double.
    `int` | `asInt()` Method that will try to convert value of this node to a Java int.
    `int` | `asInt(int defaultValue)` Method that will try to convert value of this node to a Java int.
    `long` | `asLong()` Method that will try to convert value of this node to a Java long.
    `long` | `asLong(long defaultValue)` Method that will try to convert value of this node to a Java long.
    `abstract String` | `asText()` Method that will return valid String representation of the container value, if the node is a value node (method `JsonNode.isValueNode()` returns true), otherwise empty String.
    `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
    `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`

    - ### Methods inherited from class org.codehaus.jackson.JsonNode

      `asBoolean, asBoolean, equals, findParents, findValues, findValuesAsText, get, get, getBinaryValue, getBooleanValue, getElements, getFieldNames, getFields, getPath, getPath, getTextValue, getValueAsBoolean, getValueAsBoolean, getValueAsDouble, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsText, 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`

    - #### asText

          public abstract String asText()

      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 empty String.
      Specified by:
        `asText` in class `JsonNode`

    - #### asInt

          public int asInt()

      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:
        `asInt` in class `JsonNode`

    - #### asInt

          public int asInt(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:
        `asInt` in class `JsonNode`

    - #### asLong

          public long asLong()

      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:
        `asLong` in class `JsonNode`

    - #### asLong

          public long asLong(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:
        `asLong` in class `JsonNode`

    - #### asDouble

          public double asDouble()

      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:
        `asDouble` in class `JsonNode`

    - #### asDouble

          public double asDouble(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:
        `asDouble` in class `JsonNode`