org.codehaus.jackson.node
Class TextNode

java.lang.Object
  extended by org.codehaus.jackson.JsonNode
      extended by org.codehaus.jackson.node.BaseJsonNode
          extended by org.codehaus.jackson.node.ValueNode
              extended by org.codehaus.jackson.node.TextNode
All Implemented Interfaces:
Iterable<JsonNode>, JsonSerializable, JsonSerializableWithType

public final class TextNode
extends ValueNode

Value node that contains a text value.


Constructor Summary
TextNode(String v)
           
 
Method Summary
protected  void _reportBase64EOF()
           
protected  void _reportInvalidBase64(Base64Variant b64variant, char ch, int bindex)
           
protected  void _reportInvalidBase64(Base64Variant b64variant, char ch, int bindex, String msg)
           
protected static void appendQuoted(StringBuilder sb, String content)
           
 JsonToken asToken()
          Method that can be used for efficient type detection when using stream abstraction for traversing nodes.
 boolean equals(Object o)
           Note: marked as abstract to ensure all implementation classes define it properly.
 byte[] getBinaryValue()
          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.
 byte[] getBinaryValue(Base64Variant b64variant)
          Method for accessing textual contents assuming they were base64 encoded; if so, they are decoded and resulting binary data is returned.
 String getTextValue()
          Method to use for accessing String values.
 String getValueAsText()
          Method that will return valid String representation of the container value, if the node is a value node (method JsonNode.isValueNode() returns true), otherwise null.
 int hashCode()
           
 boolean isTextual()
          Yes indeed it is textual
 void serialize(JsonGenerator jg, SerializerProvider provider)
          Method called to serialize node instances using given generator.
 String toString()
          Different from other values, Strings need quoting
static TextNode valueOf(String v)
          Factory method that should be used to construct instances.
 
Methods inherited from class org.codehaus.jackson.node.ValueNode
isValueNode, path, path
 
Methods inherited from class org.codehaus.jackson.node.BaseJsonNode
getNumberType, serializeWithType, traverse, writeTo
 
Methods inherited from class org.codehaus.jackson.JsonNode
get, get, getBigIntegerValue, getBooleanValue, getDecimalValue, getDoubleValue, getElements, getElementValue, getFieldNames, getFieldValue, getIntValue, getLongValue, getNumberValue, getPath, getPath, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, iterator, size
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TextNode

public TextNode(String v)
Method Detail

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)

getValueAsText

public String getValueAsText()
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 null.

Note: to serialize nodes of any type, you should call JsonNode.toString() instead.

Specified by:
getValueAsText in class JsonNode

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

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

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

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

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