Class TextNode

All Implemented Interfaces:
Iterable<JsonNode>, JsonSerializable, JsonSerializableWithType

public final class TextNode extends ValueNode
Value node that contains a text value.
  • Constructor Details

    • TextNode

      public TextNode(String v)
  • Method Details

    • valueOf

      public static TextNode valueOf(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.
    • 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 class ValueNode
    • isTextual

      public boolean isTextual()
      Yes indeed it is textual
      Overrides:
      isTextual in class JsonNode
    • getTextValue

      public String getTextValue()
      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:
      getTextValue 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(Base64Variant b64variant) throws IOException
      Method for accessing textual contents assuming they were base64 encoded; if so, they are decoded and resulting binary data is returned.
      Throws:
      IOException
    • getBinaryValue

      public byte[] getBinaryValue() throws 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.getTextValue() returns non-null value), to read decoded base64 data. For other types of nodes, returns null.
      Overrides:
      getBinaryValue in class JsonNode
      Returns:
      Binary data this node contains, iff it is a binary node; null otherwise
      Throws:
      IOException
    • asText

      public 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
    • 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(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
    • toString

      public String toString()
      Different from other values, Strings need quoting
      Overrides:
      toString in class ValueNode
    • appendQuoted

      protected static void appendQuoted(StringBuilder sb, String content)
    • _reportInvalidBase64

      protected void _reportInvalidBase64(Base64Variant b64variant, char ch, int bindex) throws JsonParseException
      Throws:
      JsonParseException
    • _reportInvalidBase64

      protected void _reportInvalidBase64(Base64Variant b64variant, char ch, int bindex, String msg) throws JsonParseException
      Parameters:
      bindex - Relative index within base64 character unit; between 0 and 3 (as unit has exactly 4 characters)
      Throws:
      JsonParseException
    • _reportBase64EOF

      protected void _reportBase64EOF() throws JsonParseException
      Throws:
      JsonParseException