public final class MissingNode extends ValueNode
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.
JsonSerializable.Base| Modifier and Type | Method and Description |
|---|---|
java.lang.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. |
java.lang.String |
asText(java.lang.String defaultValue)
Method similar to
JsonNode.asText(), except that it will return
defaultValue 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.
|
<T extends JsonNode> |
deepCopy()
All current value nodes are immutable, so we can just return
them as is.
|
boolean |
equals(java.lang.Object o)
Equality for node objects is defined as full (deep) value
equality.
|
static MissingNode |
getInstance() |
JsonNodeType |
getNodeType()
Return the type of this node
|
int |
hashCode() |
boolean |
isMissingNode()
Method that returns true for "virtual" nodes which represent
missing entries constructed by path accessor methods when
there is no actual node matching given criteria.
|
JsonNode |
require()
Method that may be called to verify that
this node is NOT so-called
"missing node": that is, one for which JsonNode.isMissingNode() returns true. |
JsonNode |
requireNonNull()
Method that may be called to verify that
this node is neither so-called
"missing node" (that is, one for which JsonNode.isMissingNode() returns true)
nor "null node" (one for which JsonNode.isNull() returns true). |
void |
serialize(JsonGenerator g,
SerializerProvider provider)
Method called to serialize node instances using given generator.
|
void |
serializeWithType(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.
|
java.lang.String |
toPrettyString()
Alternative to
JsonNode.toString() that will serialize this node using
Jackson default pretty-printer. |
java.lang.String |
toString()
Method that will produce (as of Jackson 2.10) valid JSON using
default settings of databind, as String.
|
findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, isEmpty, path, pathfindPath, numberType, required, required, traverse, traverseasBoolean, 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, requiredAt, requiredAt, shortValue, size, textValue, with, withArrayisEmptypublic boolean isMissingNode()
TreeNode
Note: one and only one of methods TreeNode.isValueNode(),
TreeNode.isContainerNode() and TreeNode.isMissingNode() ever
returns true for any given node.
isMissingNode in interface TreeNodeisMissingNode in class JsonNodeTrue if this node represents a "missing" nodepublic <T extends JsonNode> T deepCopy()
ValueNodepublic static MissingNode getInstance()
public JsonNodeType getNodeType()
JsonNodegetNodeType in class JsonNodeJsonNodeType enum valuepublic JsonToken asToken()
BaseJsonNodeJsonToken that equivalent
stream event would produce (for most nodes there is just
one token but for structured/container types multiple)public java.lang.String asText()
JsonNodeJsonNode.isValueNode() returns true),
otherwise empty String.public java.lang.String asText(java.lang.String defaultValue)
JsonNodeJsonNode.asText(), except that it will return
defaultValue 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.public final void serialize(JsonGenerator g, SerializerProvider provider) throws java.io.IOException
BaseJsonNodeserialize in interface JsonSerializableserialize in class BaseJsonNodejava.io.IOExceptionpublic void serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws java.io.IOException
BaseJsonNodeserializeWithType in interface JsonSerializableserializeWithType in class ValueNodejava.io.IOExceptionpublic JsonNode require()
JsonNodethis node is NOT so-called
"missing node": that is, one for which JsonNode.isMissingNode() returns true.
If not missing node, this is returned to allow chaining; otherwise
IllegalArgumentException is thrown.public JsonNode requireNonNull()
JsonNodethis node is neither so-called
"missing node" (that is, one for which JsonNode.isMissingNode() returns true)
nor "null node" (one for which JsonNode.isNull() returns true).
If non-null non-missing node, this is returned to allow chaining; otherwise
IllegalArgumentException is thrown.requireNonNull in class JsonNodethis node to allow chainingpublic int hashCode()
hashCode in class BaseJsonNodepublic java.lang.String toString()
JsonNodeObjectMapper or ObjectWriter 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.
toString in class BaseJsonNodepublic java.lang.String toPrettyString()
JsonNodeJsonNode.toString() that will serialize this node using
Jackson default pretty-printer.toPrettyString in class BaseJsonNodepublic boolean equals(java.lang.Object o)
JsonNode
Note: marked as abstract to ensure all implementation
classes define it properly and not rely on definition
from Object.
Copyright © 2010 - 2023 Adobe. All Rights Reserved