com.fasterxml.jackson.databind.node

## Class TextNode

- 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.TextNode

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

      public class TextNode
      extends ValueNode

  Value node that contains a text 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
    --- | ---
    `protected java.lang.String` | `_value`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextNode(java.lang.String v)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `_reportBase64EOF()`
    `protected void` | `_reportInvalidBase64(com.fasterxml.jackson.core.Base64Variant b64variant, char ch, int bindex)`
    `protected void` | `_reportInvalidBase64(com.fasterxml.jackson.core.Base64Variant b64variant, char ch, int bindex, java.lang.String msg)`
    `protected static void` | `appendQuoted(java.lang.StringBuilder sb, java.lang.String content)`
    `boolean` | `asBoolean(boolean defaultValue)` Method that will try to convert value of this node to a Java boolean.
    `double` | `asDouble(double defaultValue)` Method that will try to convert value of this node to a Java double.
    `int` | `asInt(int defaultValue)` Method that will try to convert value of this node to a Java int.
    `long` | `asLong(long defaultValue)` Method that will try to convert value of this node to a Java long.
    `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.
    `byte[]` | `binaryValue()` Method to use for accessing binary content of binary nodes (nodes for which `JsonNode.isBinary()` returns true); or for Text Nodes (ones for which `JsonNode.textValue()` returns non-null value), to read decoded base64 data.
    `boolean` | `equals(java.lang.Object o)` Equality for node objects is defined as full (deep) value equality.
    `byte[]` | `getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)` Method for accessing textual contents assuming they were base64 encoded; if so, they are decoded and resulting binary data is returned.
    `JsonNodeType` | `getNodeType()` Return the type of this node
    `int` | `hashCode()`
    `void` | `serialize(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider)` Method called to serialize node instances using given generator.
    `java.lang.String` | `textValue()` Method to use for accessing String values.
    `java.lang.String` | `toString()` Different from other values, Strings need quoting
    `static TextNode` | `valueOf(java.lang.String v)` Factory method that should be used to construct instances.

    - ### 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`

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

      `findPath, numberType, traverse, traverse`

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

      `asBoolean, asDouble, asInt, asLong, at, at, bigIntegerValue, 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, 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

    - #### _value

          protected final java.lang.String _value

  - ### Constructor Detail

    - #### TextNode

          public TextNode(java.lang.String v)

  - ### Method Detail

    - #### valueOf

          public static TextNode valueOf(java.lang.String v)

      Factory method that should be used to construct instances. For some common cases, can reuse canonical instances: currently this is the case for empty Strings, in future possible for others as well. If null is passed, will return null.
      Returns:
        Resulting `TextNode` object, if v is NOT null; null if it is.

    - #### 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`

    - #### textValue

          public java.lang.String textValue()

      Description copied from class: `JsonNode`
      Method to use for accessing String values. Does NOT do any conversions for non-String value nodes; for non-String values (ones for which `JsonNode.isTextual()` returns false) null will be returned. For String values, null is never returned (but empty Strings may be)
      Overrides:
        `textValue` in class `JsonNode`
      Returns:
        Textual value this node contains, iff it is a textual JSON node (comes from JSON String value entry)

    - #### getBinaryValue

          public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
                                throws java.io.IOException

      Method for accessing textual contents assuming they were base64 encoded; if so, they are decoded and resulting binary data is returned.
      Throws:
        `java.io.IOException`

    - #### binaryValue

          public byte[] binaryValue()
                             throws java.io.IOException

      Description copied from class: `JsonNode`
      Method to use for accessing binary content of binary nodes (nodes for which `JsonNode.isBinary()` returns true); or for Text Nodes (ones for which `JsonNode.textValue()` returns non-null value), to read decoded base64 data. For other types of nodes, returns null.
      Overrides:
        `binaryValue` in class `JsonNode`
      Returns:
        Binary data this node contains, iff it is a binary node; null otherwise
      Throws:
        `java.io.IOException`

    - #### 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`

    - #### 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`

    - #### asBoolean

          public boolean asBoolean(boolean defaultValue)

      Description copied from class: `JsonNode`
      Method that will try to convert value of this node to a Java boolean. JSON booleans map naturally; integer numbers other than 0 map to true, and 0 maps to false and Strings 'true' and 'false' map to corresponding values.

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

      Overrides:
        `asBoolean` 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(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(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`

    - #### serialize

          public final void serialize(com.fasterxml.jackson.core.JsonGenerator jg,
                       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`

    - #### toString

          public java.lang.String toString()

      Different from other values, Strings need quoting
      Overrides:
        `toString` in class `ValueNode`

    - #### appendQuoted

          protected static void appendQuoted(java.lang.StringBuilder sb,
                          java.lang.String content)

    - #### _reportInvalidBase64

          protected void _reportInvalidBase64(com.fasterxml.jackson.core.Base64Variant b64variant,
                                  char ch,
                                  int bindex)
                                       throws com.fasterxml.jackson.core.JsonParseException

      Throws:
        `com.fasterxml.jackson.core.JsonParseException`

    - #### _reportInvalidBase64

          protected void _reportInvalidBase64(com.fasterxml.jackson.core.Base64Variant b64variant,
                                  char ch,
                                  int bindex,
                                  java.lang.String msg)
                                       throws com.fasterxml.jackson.core.JsonParseException

      Parameters:
        `bindex` - Relative index within base64 character unit; between 0 and 3 (as unit has exactly 4 characters)
      Throws:
        `com.fasterxml.jackson.core.JsonParseException`

    - #### _reportBase64EOF

          protected void _reportBase64EOF()
                                   throws com.fasterxml.jackson.core.JsonParseException

      Throws:
        `com.fasterxml.jackson.core.JsonParseException`