NullNode
Date: 2016-12-04

com.fasterxml.jackson.databind.node

## Class NullNode

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializable.Base
  - - com.fasterxml.jackson.databind.JsonNode
    - - com.fasterxml.jackson.databind.node.BaseJsonNode
      - - com.fasterxml.jackson.databind.node.ValueNode
        - - com.fasterxml.jackson.databind.node.NullNode

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

      public final class NullNode
      extends ValueNode

  This singleton value class is used to contain explicit JSON null value.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable

      `JsonSerializable.Base`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static NullNode` | `instance`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.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.
    `java.lang.String` | `asText(java.lang.String defaultValue)` Method similar to `JsonNode.asText()`, except that it will return `defaultValue` in cases where null value would be returned; either for missing nodes (trying to access missing property, or element at invalid item for array) or explicit nulls.
    `com.fasterxml.jackson.core.JsonToken` | `asToken()` Method that can be used for efficient type detection when using stream abstraction for traversing nodes.
    `boolean` | `equals(java.lang.Object o)` Equality for node objects is defined as full (deep) value equality.
    `static NullNode` | `getInstance()`
    `JsonNodeType` | `getNodeType()` Return the type of this node
    `int` | `hashCode()`
    `void` | `serialize(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider)` Method called to serialize node instances using given generator.

    - ### Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode

      `_at, deepCopy, findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, path, path, serializeWithType, toString`

    - ### Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode

      `findPath, numberType, traverse, traverse`

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

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

    - ### Methods inherited from class com.fasterxml.jackson.databind.JsonSerializable.Base

      `isEmpty`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### instance

          public static final NullNode instance

  - ### Method Detail

    - #### getInstance

          public static NullNode getInstance()

    - #### getNodeType

          public JsonNodeType getNodeType()

      Description copied from class: `JsonNode`
      Return the type of this node
      Specified by:
        `getNodeType` in class `JsonNode`
      Returns:
        the node type as a `JsonNodeType` enum value

    - #### asToken

          public 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 `ValueNode`

    - #### asText

          public java.lang.String asText(java.lang.String defaultValue)

      Description copied from class: `JsonNode`
      Method similar to `JsonNode.asText()`, except that it will return `defaultValue` in cases where null value would be returned; either for missing nodes (trying to access missing property, or element at invalid item for array) or explicit nulls.
      Overrides:
        `asText` in class `JsonNode`

    - #### asText

          public java.lang.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 `JsonNode`

    - #### serialize

          public final void serialize(com.fasterxml.jackson.core.JsonGenerator g,
                       SerializerProvider provider)
                               throws java.io.IOException

      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:
        `java.io.IOException`

    - #### equals

          public boolean equals(java.lang.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()

      Specified by:
        `hashCode` in class `BaseJsonNode`