com.fasterxml.jackson.databind.node
Class DecimalNode

java.lang.Object
  extended by com.fasterxml.jackson.databind.JsonNode
      extended by com.fasterxml.jackson.databind.node.BaseJsonNode
          extended by com.fasterxml.jackson.databind.node.ValueNode
              extended by com.fasterxml.jackson.databind.node.NumericNode
                  extended by com.fasterxml.jackson.databind.node.DecimalNode
All Implemented Interfaces:
TreeNode, JsonSerializable, Iterable<JsonNode>

public final class DecimalNode
extends NumericNode

Numeric node that contains values that do not fit in simple integer (int, long) or floating point (double) values.


Field Summary
protected  BigDecimal _value
           
 
Fields inherited from class com.fasterxml.jackson.databind.JsonNode
NO_NODES, NO_STRINGS
 
Constructor Summary
DecimalNode(BigDecimal v)
           
 
Method Summary
 String asText()
          Method that will return a valid String representation of the container value, if the node is a value node (method JsonNode.isValueNode() returns true), otherwise empty String.
 JsonToken asToken()
          Method that can be used for efficient type detection when using stream abstraction for traversing nodes.
 BigInteger bigIntegerValue()
           
 boolean canConvertToInt()
          Method that can be used to check whether this node is a numeric node (JsonNode.isNumber() would return true) AND its value fits within Java's 32-bit signed integer type, int.
 boolean canConvertToLong()
          Method that can be used to check whether this node is a numeric node (JsonNode.isNumber() would return true) AND its value fits within Java's 64-bit signed integer type, long.
 BigDecimal decimalValue()
           
 double doubleValue()
           
 boolean equals(Object o)
          Equality for node objects is defined as full (deep) value equality.
 int hashCode()
           
 int intValue()
          Returns integer value for this node, if and only if this node is numeric (JsonNode.isNumber() returns true).
 boolean isBigDecimal()
           
 boolean isFloatingPointNumber()
           
 long longValue()
           
 JsonParser.NumberType numberType()
          Returns code that identifies type of underlying numeric value, if (and only if) node is a number node.
 Number numberValue()
          Returns numeric value for this node, if and only if this node is numeric (JsonNode.isNumber() returns true); otherwise returns null
 void serialize(JsonGenerator jg, SerializerProvider provider)
          Method called to serialize node instances using given generator.
static DecimalNode valueOf(BigDecimal d)
           
 
Methods inherited from class com.fasterxml.jackson.databind.node.NumericNode
asDouble, asDouble, asInt, asInt, asLong, asLong, isNumber
 
Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode
deepCopy, isValueNode, path, path, serializeWithType, toString
 
Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
findParent, findParents, findPath, findValue, findValues, findValuesAsText, traverse
 
Methods inherited from class com.fasterxml.jackson.databind.JsonNode
asBoolean, asBoolean, binaryValue, booleanValue, elements, fieldNames, fields, findParents, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, isArray, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isObject, isPojo, isTextual, iterator, size, textValue, with, withArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_value

protected final BigDecimal _value
Constructor Detail

DecimalNode

public DecimalNode(BigDecimal v)
Method Detail

valueOf

public static DecimalNode valueOf(BigDecimal d)

asToken

public JsonToken asToken()
Description copied from class: BaseJsonNode
Method that can be used for efficient type detection when using stream abstraction for traversing nodes. Will return the first JsonToken that equivalent stream event would produce (for most nodes there is just one token but for structured/container types multiple)

Specified by:
asToken in interface TreeNode
Specified by:
asToken in class ValueNode

numberType

public JsonParser.NumberType numberType()
Description copied from class: BaseJsonNode
Returns code that identifies type of underlying numeric value, if (and only if) node is a number node.

Specified by:
numberType in interface TreeNode
Specified by:
numberType in class NumericNode
Returns:
Type of number contained, if any; or null if node does not contain numeric value.

isFloatingPointNumber

public boolean isFloatingPointNumber()
Overrides:
isFloatingPointNumber in class JsonNode
Returns:
True if this node represents a non-integral numeric JSON value

isBigDecimal

public boolean isBigDecimal()
Overrides:
isBigDecimal in class JsonNode

canConvertToInt

public boolean canConvertToInt()
Description copied from class: JsonNode
Method that can be used to check whether this node is a numeric node (JsonNode.isNumber() would return true) AND its value fits within Java's 32-bit signed integer type, int. Note that floating-point numbers are convertible if the integral part fits without overflow (as per standard Java coercion rules)

Specified by:
canConvertToInt in class NumericNode

canConvertToLong

public boolean canConvertToLong()
Description copied from class: JsonNode
Method that can be used to check whether this node is a numeric node (JsonNode.isNumber() would return true) AND its value fits within Java's 64-bit signed integer type, long. Note that floating-point numbers are convertible if the integral part fits without overflow (as per standard Java coercion rules)

Specified by:
canConvertToLong in class NumericNode

numberValue

public Number numberValue()
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

Specified by:
numberValue in class NumericNode
Returns:
Number value this node contains, if any (null for non-number nodes).

intValue

public int intValue()
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.

Specified by:
intValue in class NumericNode
Returns:
Integer value this node contains, if any; 0 for non-number nodes.

longValue

public long longValue()
Specified by:
longValue in class NumericNode

bigIntegerValue

public BigInteger bigIntegerValue()
Specified by:
bigIntegerValue in class NumericNode

doubleValue

public double doubleValue()
Specified by:
doubleValue in class NumericNode

decimalValue

public BigDecimal decimalValue()
Specified by:
decimalValue in class NumericNode

asText

public String asText()
Description copied from class: JsonNode
Method that will return a 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 NumericNode

serialize

public final void serialize(JsonGenerator jg,
                            SerializerProvider provider)
                     throws IOException,
                            JsonProcessingException
Description copied from class: BaseJsonNode
Method called to serialize node instances using given generator.

Specified by:
serialize in interface JsonSerializable
Specified by:
serialize in class BaseJsonNode
Throws:
IOException
JsonProcessingException

equals

public boolean equals(Object o)
Description copied from class: JsonNode
Equality for node objects is defined as full (deep) value equality. This means that it is possible to compare complete JSON trees for equality by comparing equality of root nodes.

Note: marked as abstract to ensure all implementation classes define it properly and not rely on definition from Object.

Specified by:
equals in class JsonNode

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2012 FasterXML. All Rights Reserved.