Class POJONode
- 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.POJONode
-
- All Implemented Interfaces:
TreeNode
,JsonSerializable
,java.io.Serializable
,java.lang.Iterable<JsonNode>
public class POJONode extends ValueNode
Value node that contains a wrapped POJO, to be serialized as a JSON constructed through data mapping (usually done by callingObjectMapper
).- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
-
Constructor Summary
Constructors Constructor Description POJONode(java.lang.Object v)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.java.lang.String
asText()
Method that will return a valid String representation of the container value, if the node is a value node (methodJsonNode.isValueNode()
returns true), otherwise empty String.java.lang.String
asText(java.lang.String defaultValue)
Method similar toJsonNode.asText()
, except that it will returndefaultValue
in cases where null value would be returned; either for missing nodes (trying to access missing property, or element at invalid item for array) or explicit nulls.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 beingBinaryNode
), let's add support for exposing binary data here too.boolean
equals(java.lang.Object o)
Equality for node objects is defined as full (deep) value equality.JsonNodeType
getNodeType()
Return the type of this nodejava.lang.Object
getPojo()
Method that can be used to access the POJO this node wraps.int
hashCode()
void
serialize(JsonGenerator gen, SerializerProvider ctxt)
Method called to serialize node instances using given generator.-
Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode
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
asBoolean, asDouble, asInt, asLong, 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
-
-
-
-
Method Detail
-
getNodeType
public JsonNodeType getNodeType()
Description copied from class:JsonNode
Return the type of this node- Specified by:
getNodeType
in classJsonNode
- 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 firstJsonToken
that equivalent stream event would produce (for most nodes there is just one token but for structured/container types multiple)
-
binaryValue
public byte[] binaryValue() throws java.io.IOException
As it is possible that some implementations embed byte[] as POJONode (despite optimal beingBinaryNode
), let's add support for exposing binary data here too.- Overrides:
binaryValue
in classJsonNode
- Returns:
- Binary data this node contains, iff it is a binary node; null otherwise
- Throws:
java.io.IOException
-
asText
public java.lang.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 (methodJsonNode.isValueNode()
returns true), otherwise empty String.
-
asText
public java.lang.String asText(java.lang.String defaultValue)
Description copied from class:JsonNode
Method similar toJsonNode.asText()
, except that it will returndefaultValue
in cases where null value would be returned; either for missing nodes (trying to access missing property, or element at invalid item for array) or explicit nulls.
-
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 cannot be converted to a boolean value (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
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 cannot be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
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 cannot be converted to a long (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
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 cannot be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
serialize
public final void serialize(JsonGenerator gen, SerializerProvider ctxt) throws java.io.IOException
Description copied from class:BaseJsonNode
Method called to serialize node instances using given generator.- Specified by:
serialize
in interfaceJsonSerializable
- Specified by:
serialize
in classBaseJsonNode
- Throws:
java.io.IOException
-
getPojo
public java.lang.Object getPojo()
Method that can be used to access the POJO this node wraps.
-
equals
public boolean equals(java.lang.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
.
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classBaseJsonNode
-
-