## com.fasterxml.jackson.databind.node
Class ValueNode

    java.lang.Object
      com.fasterxml.jackson.databind.JsonNode
          com.fasterxml.jackson.databind.node.BaseJsonNode
              com.fasterxml.jackson.databind.node.ValueNode

All Implemented Interfaces:
  com.fasterxml.jackson.core.TreeNode, JsonSerializable, Iterable<JsonNode>

Direct Known Subclasses:
  BinaryNode, BooleanNode, NullNode, NumericNode, POJONode, TextNode

    public abstract class ValueNode

extends BaseJsonNode

This intermediate base class is used for all leaf nodes, that is, all non-container (array or object) nodes, except for the "missing node".

Field Summary

Fields inherited from class com.fasterxml.jackson.databind.JsonNode
`NO_NODES, NO_STRINGS`

Constructor Summary
`protected` `ValueNode()`

Method Summary
`abstract com.fasterxml.jackson.core.JsonToken` `asToken()` Method that can be used for efficient type detection when using stream abstraction for traversing nodes.

`

`<T extends JsonNode> T`

`

`deepCopy()`
All current value nodes are immutable, so we can just return them as is.

`boolean` `isValueNode()` Method that returns true for all value nodes: ones that are not containers, and that do not represent "missing" nodes in the path.
`JsonNode` `path(int index)` This method is similar to `JsonNode.get(int)`, except that instead of returning null if no such element exists (due to index being out of range, or this node not being an array), a "missing node" (node that returns true for `JsonNode.isMissingNode()`) will be returned.
`JsonNode` `path(String fieldName)` This method is similar to `JsonNode.get(String)`, except that instead of returning null if no such value exists (due to this node not being an object, or object not having value for the specified field), a "missing node" (node that returns true for `JsonNode.isMissingNode()`) will be returned.
`void` `serializeWithType(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider, TypeSerializer typeSer)` Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.
`String` `toString()` Note: marked as abstract to ensure all implementation classes define it properly.

Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
`findParent, findParents, findPath, findValue, findValues, findValuesAsText, numberType, serialize, traverse`

Methods inherited from class com.fasterxml.jackson.databind.JsonNode

`asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, asText, bigIntegerValue, binaryValue, booleanValue, canConvertToInt, canConvertToLong, decimalValue, doubleValue, elements, equals, fieldNames, fields, findParents, findValues, findValuesAsText, get, get, has, has, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isTextual, iterator, longValue, numberValue, size, textValue, with, withArray`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ValueNode

    protected ValueNode()

Method Detail

### deepCopy

    public <T extends JsonNode> T deepCopy()

  All current value nodes are immutable, so we can just return them as is.

  Specified by:
    `deepCopy` in class `JsonNode`
  Returns:
    Node that is either a copy of this node (and all non-leaf children); or, for immutable leaf nodes, node itself.

### isValueNode

    public boolean isValueNode()

  Description copied from class: `JsonNode`
  Method that returns true for all value nodes: ones that are not containers, and that do not represent "missing" nodes in the path. Such value nodes represent String, Number, Boolean and null values from JSON.

  Note: one and only one of methods `JsonNode.isValueNode()`, `JsonNode.isContainerNode()` and `JsonNode.isMissingNode()` ever returns true for any given node.

  Overrides:
    `isValueNode` in class `JsonNode`

### asToken

    public abstract com.fasterxml.jackson.core.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 `com.fasterxml.jackson.core.TreeNode`
  Specified by:
    `asToken` in class `BaseJsonNode`

### serializeWithType

    public void serializeWithType(com.fasterxml.jackson.core.JsonGenerator jg,
                                  SerializerProvider provider,
                                  TypeSerializer typeSer)
                           throws IOException,
                                  com.fasterxml.jackson.core.JsonProcessingException

  Description copied from class: `BaseJsonNode`
  Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.

  Specified by:
    `serializeWithType` in interface `JsonSerializable`
  Specified by:
    `serializeWithType` in class `BaseJsonNode`
  Throws:
    `IOException`
    `com.fasterxml.jackson.core.JsonProcessingException`

### path

    public JsonNode path(String fieldName)

  Description copied from class: `JsonNode`
  This method is similar to `JsonNode.get(String)`, except that instead of returning null if no such value exists (due to this node not being an object, or object not having value for the specified field), a "missing node" (node that returns true for `JsonNode.isMissingNode()`) will be returned. This allows for convenient and safe chained access via path calls.

  Specified by:
    `path` in class `JsonNode`

### path

    public JsonNode path(int index)

  Description copied from class: `JsonNode`
  This method is similar to `JsonNode.get(int)`, except that instead of returning null if no such element exists (due to index being out of range, or this node not being an array), a "missing node" (node that returns true for `JsonNode.isMissingNode()`) will be returned. This allows for convenient and safe chained access via path calls.

  Specified by:
    `path` in class `JsonNode`

### toString

    public String toString()

  Description copied from class: `JsonNode`

  Note: marked as abstract to ensure all implementation classes define it properly.

  Specified by:
    `toString` in class `JsonNode`

Copyright © 2012 fasterxml.com. All Rights Reserved.