org.codehaus.jackson.node
Class BinaryNode

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.BinaryNode
All Implemented Interfaces:
Iterable<JsonNode>, JsonSerializable, JsonSerializableWithType

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 org.codehaus.jackson.JsonNode
NO_NODES, NO_STRINGS
 
Constructor Summary
BinaryNode(byte[] data)
           
BinaryNode(byte[] data, int offset, int length)
           
 
Method Summary
 JsonToken asToken()
          Method that can be used for efficient type detection when using stream abstraction for traversing nodes.
 boolean equals(Object o)
          Equality for node objects is defined as full (deep) value equality.
 byte[] getBinaryValue()
           Note: caller is not to modify returned array in any way, since it is not a copy but reference to the underlying byte array.
 String getValueAsText()
          Hmmh.
 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 org.codehaus.jackson.node.ValueNode
isValueNode, path, path, serializeWithType
 
Methods inherited from class org.codehaus.jackson.node.BaseJsonNode
findParent, findParents, findPath, findValue, findValues, findValuesAsText, getNumberType, traverse, writeTo
 
Methods inherited from class org.codehaus.jackson.JsonNode
findParents, findValues, findValuesAsText, get, get, getBigIntegerValue, getBooleanValue, getDecimalValue, getDoubleValue, getElements, getElementValue, getFieldNames, getFields, getFieldValue, getIntValue, getLongValue, getNumberValue, getPath, getPath, getTextValue, getValueAsBoolean, getValueAsBoolean, getValueAsDouble, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, has, has, isArray, isBigDecimal, isBigInteger, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isTextual, iterator, size, with
 
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 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

getBinaryValue

public byte[] getBinaryValue()

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:
getBinaryValue in class JsonNode
Returns:
Binary data this node contains, iff it is a binary node; null otherwise

getValueAsText

public String getValueAsText()
Hmmh. This is not quite as efficient as using serialize(org.codehaus.jackson.JsonGenerator, org.codehaus.jackson.map.SerializerProvider), but will work correctly.

Specified by:
getValueAsText 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