com.fasterxml.jackson.databind.node
Class POJONode

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.POJONode
All Implemented Interfaces:
com.fasterxml.jackson.core.TreeNode, JsonSerializable, Iterable<JsonNode>

public final class POJONode
extends ValueNode

Value node that contains a wrapped POJO, to be serialized as a JSON constructed through data mapping (usually done by calling ObjectMapper).


Field Summary
protected  Object _value
           
 
Fields inherited from class com.fasterxml.jackson.databind.JsonNode
NO_NODES, NO_STRINGS
 
Constructor Summary
POJONode(Object v)
           
 
Method Summary
 boolean asBoolean(boolean defaultValue)
          Method that will try to convert value of this node to a Java boolean.
 double asDouble(double defaultValue)
          Method that will try to convert value of this node to a Java double.
 int asInt(int defaultValue)
          Method that will try to convert value of this node to a Java int.
 long asLong(long defaultValue)
          Method that will try to convert value of this node to a Java long.
 String asText()
          Method that will return a valid String representation of the container value, if the node is a value node (method JsonNode.isValueNode() returns true), otherwise empty String.
 com.fasterxml.jackson.core.JsonToken asToken()
          Method that can be used for efficient type detection when using stream abstraction for traversing nodes.
 byte[] binaryValue()
          As it is possible that some implementations embed byte[] as POJONode (despite optimal being BinaryNode), let's add support for exposing binary data here too.
 boolean equals(Object o)
          Equality for node objects is defined as full (deep) value equality.
 Object getPojo()
          Method that can be used to access the POJO this node wraps.
 int hashCode()
           
 boolean isPojo()
          Method that can be used to check if the node is a wrapper for a POJO ("Plain Old Java Object" aka "bean".
 void serialize(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider)
          Method called to serialize node instances using given generator.
 String toString()
           Note: marked as abstract to ensure all implementation classes define it properly.
 
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, asDouble, asInt, asLong, bigIntegerValue, booleanValue, canConvertToInt, canConvertToLong, decimalValue, doubleValue, elements, fieldNames, fields, findParents, findValues, findValuesAsText, get, get, has, has, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isTextual, iterator, longValue, numberValue, size, textValue, with, withArray
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_value

protected final Object _value
Constructor Detail

POJONode

public POJONode(Object v)
Method Detail

asToken

public com.fasterxml.jackson.core.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 com.fasterxml.jackson.core.TreeNode
Specified by:
asToken in class ValueNode

isPojo

public boolean isPojo()
Description copied from class: JsonNode
Method that can be used to check if the node is a wrapper for a POJO ("Plain Old Java Object" aka "bean". Returns true only for instances of POJONode.

Overrides:
isPojo in class JsonNode
Returns:
True if this node wraps a POJO

binaryValue

public byte[] binaryValue()
                   throws IOException
As it is possible that some implementations embed byte[] as POJONode (despite optimal being BinaryNode), let's add support for exposing binary data here too.

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

asText

public String asText()
Description copied from class: JsonNode
Method that will return a valid String representation of the container value, if the node is a value node (method JsonNode.isValueNode() returns true), otherwise empty String.

Specified by:
asText in class JsonNode

asBoolean

public boolean asBoolean(boolean defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java boolean. JSON booleans map naturally; integer numbers other than 0 map to true, and 0 maps to false and Strings 'true' and 'false' map to corresponding values.

If representation can not be converted to a boolean value (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
asBoolean in class JsonNode

asInt

public int asInt(int defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java int. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
asInt in class JsonNode

asLong

public long asLong(long defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java long. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an long (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
asLong in class JsonNode

asDouble

public double asDouble(double defaultValue)
Description copied from class: JsonNode
Method that will try to convert value of this node to a Java double. Numbers are coerced using default Java rules; booleans convert to 0.0 (false) and 1.0 (true), and Strings are parsed using default Java language integer parsing rules.

If representation can not be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.

Overrides:
asDouble in class JsonNode

serialize

public final void serialize(com.fasterxml.jackson.core.JsonGenerator jg,
                            SerializerProvider provider)
                     throws IOException,
                            com.fasterxml.jackson.core.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
com.fasterxml.jackson.core.JsonProcessingException

getPojo

public Object getPojo()
Method that can be used to access the POJO this node wraps.


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()
Description copied from class: JsonNode

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

Overrides:
toString in class ValueNode


Copyright © 2012 fasterxml.com. All Rights Reserved.