com.fasterxml.jackson.databind.node

## Class BinaryNode

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializable.Base
  - - com.fasterxml.jackson.databind.JsonNode
    - - com.fasterxml.jackson.databind.node.BaseJsonNode
      - - com.fasterxml.jackson.databind.node.ValueNode
        - - com.fasterxml.jackson.databind.node.BinaryNode

All Implemented Interfaces:
  TreeNode, JsonSerializable, Serializable, Iterable<JsonNode>

    public class BinaryNode
    extends ValueNode

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

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable

`JsonSerializable.Base`

### Field Summary

Fields
`protected byte[]` `_data`

### Constructor Summary

Constructors
Constructor and Description
`BinaryNode(byte[] data)`
`BinaryNode(byte[] data, int offset, int length)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`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.
`JsonNodeType` `getNodeType()` Return the type of this node
`int` `hashCode()`
`void` `serialize(JsonGenerator jg, SerializerProvider provider)` Method called to serialize node instances using given generator.
`static BinaryNode` `valueOf(byte[] data)`
`static BinaryNode` `valueOf(byte[] data, int offset, int length)`

### Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode

`_at, deepCopy, findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, isEmpty, path, path, serializeWithType`

### Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode

`findPath, numberType, required, required, toPrettyString, toString, traverse, traverse`

### Methods inherited from class com.fasterxml.jackson.databind.JsonNode

`_reportRequiredViolation, _this, asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, asText, at, at, bigIntegerValue, booleanValue, canConvertToExactIntegral, canConvertToInt, canConvertToLong, decimalValue, doubleValue, elements, equals, fieldNames, fields, findParents, findValues, findValuesAsText, floatValue, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloat, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isShort, isTextual, isValueNode, iterator, longValue, numberValue, require, requiredAt, requiredAt, requireNonNull, shortValue, size, textValue, with, withArray`

### Methods inherited from class com.fasterxml.jackson.databind.JsonSerializable.Base

`isEmpty`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Field Detail

#### _data

    protected final byte[] _data

### 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)

#### getNodeType

    public JsonNodeType getNodeType()

Description copied from class: `JsonNode`
Return the type of this node

Specified by:
  `getNodeType` in class `JsonNode`
Returns:
  the node type as a `JsonNodeType` enum value

#### 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`

#### 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()

Specified by:
  `hashCode` in class `BaseJsonNode`