Class MissingNode
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.MissingNode
- All Implemented Interfaces:
com.fasterxml.jackson.core.TreeNode
,JsonSerializable
,Serializable
,Iterable<JsonNode>
This singleton node class is generated to denote "missing nodes"
along paths that do not exist. For example, if a path via
element of an array is requested for an element outside range
of elements in the array; or for a non-array value, result
will be reference to this node.
In most respects this placeholder node will act as NullNode
;
for example, for purposes of value conversions, value is considered
to be null and represented as value zero when used for numeric
conversions.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonNode
JsonNode.OverwriteMode
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
NOTE: visibility raised to `protected` in 2.9.3 to allow custom subtypes (which may not be greatest idea ever to have but was requested) -
Method Summary
Modifier and TypeMethodDescriptionasText()
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.Returns the text value of this node or the provideddefaultValue
if this node does not have a text value.com.fasterxml.jackson.core.JsonToken
asToken()
Method that can be used for efficient type detection when using stream abstraction for traversing nodes.<T extends JsonNode>
TdeepCopy()
All current value nodes are immutable, so we can just return them as is.boolean
Equality for node objects is defined as full (deep) value equality.static MissingNode
Return the type of this nodeint
hashCode()
boolean
protected Object
require()
Method that may be called to verify thatthis
node is NOT so-called "missing node": that is, one for whichJsonNode.isMissingNode()
returnstrue
.Method that may be called to verify thatthis
node is neither so-called "missing node" (that is, one for whichJsonNode.isMissingNode()
returnstrue
) nor "null node" (one for whichJsonNode.isNull()
returnstrue
).final void
serialize
(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider) Method called to serialize node instances using given generator.void
serializeWithType
(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.Alternative toJsonNode.toString()
that will serialize this node using Jackson default pretty-printer.toString()
Method that will produce (as of Jackson 2.10) valid JSON using default settings of databind, as String.Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode
_at, findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, isEmpty, path, path
Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
_bigIntFromBigDec, _jsonPointerIfValid, _reportWrongNodeOperation, _reportWrongNodeType, _withArray, _withObject, _withXxxMayReplace, _withXxxVerifyReplace, findPath, numberType, required, required, traverse, traverse, withArray, withObject
Methods inherited from class com.fasterxml.jackson.databind.JsonNode
_reportRequiredViolation, _this, asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, at, at, bigIntegerValue, binaryValue, 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, isNull, isNumber, isObject, isPojo, isShort, isTextual, isValueNode, iterator, longValue, numberValue, properties, requiredAt, requiredAt, shortValue, size, textValue, with, withArray, withArray, withArray, withArrayProperty, withObject, withObject, withObject, withObjectProperty
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
-
Constructor Details
-
MissingNode
protected MissingNode()NOTE: visibility raised to `protected` in 2.9.3 to allow custom subtypes (which may not be greatest idea ever to have but was requested)
-
-
Method Details
-
readResolve
-
isMissingNode
public boolean isMissingNode()- Specified by:
isMissingNode
in interfacecom.fasterxml.jackson.core.TreeNode
- Overrides:
isMissingNode
in classJsonNode
-
deepCopy
Description copied from class:ValueNode
All current value nodes are immutable, so we can just return them as is. -
getInstance
-
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 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 firstJsonToken
that equivalent stream event would produce (for most nodes there is just one token but for structured/container types multiple) -
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
Description copied from class:JsonNode
Returns the text value of this node or the provideddefaultValue
if this node does not have a text value. Useful for nodes that areMissingNode
orNullNode
, ensuring a default value is returned instead of null or missing indicators.NOTE: This was deprecated in 2.17.0, but as discussed through [databind#4471], was un-deprecated in 2.17.1.
-
serialize
public final void serialize(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider) throws 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:
IOException
-
serializeWithType
public void serializeWithType(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws IOException Description copied from class:BaseJsonNode
Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.- Specified by:
serializeWithType
in interfaceJsonSerializable
- Overrides:
serializeWithType
in classValueNode
- Throws:
IOException
-
require
Description copied from class:JsonNode
Method that may be called to verify thatthis
node is NOT so-called "missing node": that is, one for whichJsonNode.isMissingNode()
returnstrue
. If not missing node,this
is returned to allow chaining; otherwiseIllegalArgumentException
is thrown. -
requireNonNull
Description copied from class:JsonNode
Method that may be called to verify thatthis
node is neither so-called "missing node" (that is, one for whichJsonNode.isMissingNode()
returnstrue
) nor "null node" (one for whichJsonNode.isNull()
returnstrue
). If non-null non-missing node,this
is returned to allow chaining; otherwiseIllegalArgumentException
is thrown.- Overrides:
requireNonNull
in classJsonNode
- Returns:
this
node to allow chaining
-
hashCode
public int hashCode()- Specified by:
hashCode
in classBaseJsonNode
-
toString
Description copied from class:JsonNode
Method that will produce (as of Jackson 2.10) valid JSON using default settings of databind, as String. If you want other kinds of JSON output (or output formatted using one of other Jackson-supported data formats) make sure to useObjectMapper
orObjectWriter
to serialize an instance, for example:String json = objectMapper.writeValueAsString(rootNode);
Note: method defined as abstract to ensure all implementation classes explicitly implement method, instead of relying on
Object.toString()
definition.- Overrides:
toString
in classBaseJsonNode
-
toPrettyString
Description copied from class:JsonNode
Alternative toJsonNode.toString()
that will serialize this node using Jackson default pretty-printer.- Overrides:
toPrettyString
in classBaseJsonNode
-
equals
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
.
-