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

public final class BinaryNode
extends ValueNode

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


Constructor Summary
BinaryNode(byte[] data)
           
BinaryNode(byte[] data, int offset, int length)
           
 
Method Summary
protected static String _asBase64(boolean addQuotes, byte[] input)
           
 boolean equals(Object o)
           Note: marked as abstract to ensure all implementation classes define it properly.
 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)
           
 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
 
Methods inherited from class org.codehaus.jackson.node.BaseJsonNode
writeTo
 
Methods inherited from class org.codehaus.jackson.JsonNode
get, get, getBigIntegerValue, getBooleanValue, getDecimalValue, getDoubleValue, getElements, getElementValue, getFieldNames, getFieldValue, getIntValue, getLongValue, getNumberValue, getPath, getPath, getTextValue, isArray, isBigDecimal, isBigInteger, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isTextual, iterator, size
 
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)

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 gets bit tricky and inefficient, but we can do it ok.

Specified by:
getValueAsText in class JsonNode

serialize

public final void serialize(JsonGenerator jg,
                            SerializerProvider provider)
                     throws IOException,
                            JsonProcessingException
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, since contents need to be surrounded by (double) quotes.

Overrides:
toString in class ValueNode

_asBase64

protected static String _asBase64(boolean addQuotes,
                                  byte[] input)