com.fasterxml.jackson.databind.node
Class BinaryNode

java.lang.Object
  extended by com.fasterxml.jackson.databind.JsonNode
      extended by com.fasterxml.jackson.databind.node.BaseJsonNode
          extended by com.fasterxml.jackson.databind.node.ValueNode
              extended by com.fasterxml.jackson.databind.node.BinaryNode
All Implemented Interfaces:
TreeNode, JsonSerializable, Iterable<JsonNode>

public final class BinaryNode
extends ValueNode

Value node that contains Base64 encoded binary value, which will be output and stored as Json String value.


Field Summary
 
Fields inherited from class com.fasterxml.jackson.databind.JsonNode
NO_NODES, NO_STRINGS
 
Constructor Summary
BinaryNode(byte[] data)
           
BinaryNode(byte[] data, int offset, int length)
           
 
Method Summary
 String asText()
          Hmmh.
 JsonToken asToken()
          Method that can be used for efficient type detection when using stream abstraction for traversing nodes.
 byte[] binaryValue()
           Note: caller is not to modify returned array in any way, since it is not a copy but reference to the underlying byte array.
 boolean equals(Object o)
          Equality for node objects is defined as full (deep) value equality.
 int hashCode()
           
 boolean isBinary()
          Method that can be used to check if this node represents binary data (Base64 encoded).
 void serialize(JsonGenerator jg, SerializerProvider provider)
          Method called to serialize node instances using given generator.
 String toString()
          Different from other values, since contents need to be surrounded by (double) quotes.
static BinaryNode valueOf(byte[] data)
           
static BinaryNode valueOf(byte[] data, int offset, int length)
           
 
Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode
deepCopy, isValueNode, path, path, serializeWithType
 
Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
findParent, findParents, findPath, findValue, findValues, findValuesAsText, numberType, traverse
 
Methods inherited from class com.fasterxml.jackson.databind.JsonNode
asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, bigIntegerValue, booleanValue, canConvertToInt, canConvertToLong, decimalValue, doubleValue, elements, fieldNames, fields, findParents, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, intValue, isArray, isBigDecimal, isBigInteger, 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, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BinaryNode

public BinaryNode(byte[] data)

BinaryNode

public BinaryNode(byte[] data,
                  int offset,
                  int length)
Method Detail

valueOf

public static BinaryNode valueOf(byte[] data)

valueOf

public static BinaryNode valueOf(byte[] data,
                                 int offset,
                                 int length)

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 interface TreeNode
Specified by:
asToken in class ValueNode

isBinary

public boolean isBinary()
Description copied from class: JsonNode
Method that can be used to check if this node represents binary data (Base64 encoded). Although this will be externally written as JSON String value, JsonNode.isTextual() will return false if this method returns true.

Overrides:
isBinary in class JsonNode
Returns:
True if this node represents base64 encoded binary data

binaryValue

public byte[] binaryValue()

Note: caller is not to modify returned array in any way, since it is not a copy but reference to the underlying byte array.

Overrides:
binaryValue in class JsonNode
Returns:
Binary data this node contains, iff it is a binary node; null otherwise

asText

public String asText()
Hmmh. This is not quite as efficient as using serialize(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider), but will work correctly.

Specified by:
asText 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, since contents need to be surrounded by (double) quotes.

Overrides:
toString in class ValueNode


Copyright © 2012 FasterXML. All Rights Reserved.