Class BaseJsonNode
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonSerializable.Base
-
- com.fasterxml.jackson.databind.JsonNode
-
- com.fasterxml.jackson.databind.node.BaseJsonNode
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.TreeNode
,JsonSerializable
,Iterable<JsonNode>
- Direct Known Subclasses:
ContainerNode
,ValueNode
public abstract class BaseJsonNode extends JsonNode implements JsonSerializable
Abstract base class common to all standardJsonNode
implementations. The main addition here is that we declare that sub-classes must implementJsonSerializable
. This simplifies object mapping aspects a bit, as no external serializers are needed.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BaseJsonNode()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract com.fasterxml.jackson.core.JsonToken
asToken()
Method that can be used for efficient type detection when using stream abstraction for traversing nodes.JsonNode
findPath(String fieldName)
Method similar toJsonNode.findValue(java.lang.String)
, but that will return a "missing node" instead of null if no field is found.abstract int
hashCode()
com.fasterxml.jackson.core.JsonParser.NumberType
numberType()
Returns code that identifies type of underlying numeric value, if (and only if) node is a number node.abstract void
serialize(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider)
Method called to serialize node instances using given generator.abstract void
serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)
Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.com.fasterxml.jackson.core.JsonParser
traverse()
com.fasterxml.jackson.core.JsonParser
traverse(com.fasterxml.jackson.core.ObjectCodec codec)
-
Methods inherited from class com.fasterxml.jackson.databind.JsonNode
_at, asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, asText, asText, at, at, bigIntegerValue, binaryValue, booleanValue, canConvertToInt, canConvertToLong, decimalValue, deepCopy, doubleValue, elements, equals, equals, fieldNames, fields, findParent, findParents, findParents, findValue, findValues, findValues, findValuesAsText, findValuesAsText, floatValue, get, get, getNodeType, has, has, hasNonNull, hasNonNull, intValue, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloat, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isShort, isTextual, isValueNode, iterator, longValue, numberValue, path, path, shortValue, size, textValue, toString, 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
-
-
-
-
Method Detail
-
findPath
public final JsonNode findPath(String fieldName)
Description copied from class:JsonNode
Method similar toJsonNode.findValue(java.lang.String)
, but that will return a "missing node" instead of null if no field is found. Missing node is a specific kind of node for whichJsonNode.isMissingNode()
returns true; and all value access methods return empty or missing value.
-
traverse
public com.fasterxml.jackson.core.JsonParser traverse()
- Specified by:
traverse
in interfacecom.fasterxml.jackson.core.TreeNode
-
traverse
public com.fasterxml.jackson.core.JsonParser traverse(com.fasterxml.jackson.core.ObjectCodec codec)
- Specified by:
traverse
in interfacecom.fasterxml.jackson.core.TreeNode
-
asToken
public abstract com.fasterxml.jackson.core.JsonToken asToken()
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)- Specified by:
asToken
in interfacecom.fasterxml.jackson.core.TreeNode
-
numberType
public com.fasterxml.jackson.core.JsonParser.NumberType numberType()
Returns code that identifies type of underlying numeric value, if (and only if) node is a number node.- Specified by:
numberType
in interfacecom.fasterxml.jackson.core.TreeNode
-
serialize
public abstract void serialize(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
Method called to serialize node instances using given generator.- Specified by:
serialize
in interfaceJsonSerializable
- Throws:
IOException
com.fasterxml.jackson.core.JsonProcessingException
-
serializeWithType
public abstract void serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.- Specified by:
serializeWithType
in interfaceJsonSerializable
- Throws:
IOException
com.fasterxml.jackson.core.JsonProcessingException
-
-