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, path
findPath, numberType, required, required, traverse, traverse
asBoolean, asBoolean, asDouble, asDouble, asInt, asInt, asLong, asLong, at, at, bigIntegerValue, binaryValue, booleanValue, 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, withArray
isEmpty
public 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 TreeNode
isMissingNode
in class JsonNode
public <T extends JsonNode> T deepCopy()
ValueNode
public static MissingNode getInstance()
public JsonNodeType getNodeType()
JsonNode
getNodeType
in class JsonNode
JsonNodeType
enum valuepublic JsonToken asToken()
BaseJsonNode
JsonToken
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()
JsonNode
JsonNode.isValueNode()
returns true),
otherwise empty String.public java.lang.String asText(java.lang.String defaultValue)
JsonNode
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.public final void serialize(JsonGenerator g, SerializerProvider provider) throws java.io.IOException, JsonProcessingException
BaseJsonNode
serialize
in interface JsonSerializable
serialize
in class BaseJsonNode
java.io.IOException
JsonProcessingException
public void serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws java.io.IOException, JsonProcessingException
BaseJsonNode
serializeWithType
in interface JsonSerializable
serializeWithType
in class ValueNode
java.io.IOException
JsonProcessingException
public JsonNode require()
JsonNode
this
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()
JsonNode
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
).
If non-null non-missing node, this
is returned to allow chaining; otherwise
IllegalArgumentException
is thrown.requireNonNull
in class JsonNode
this
node to allow chainingpublic int hashCode()
hashCode
in class BaseJsonNode
public java.lang.String toString()
JsonNode
ObjectMapper
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 BaseJsonNode
public java.lang.String toPrettyString()
JsonNode
JsonNode.toString()
that will serialize this node using
Jackson default pretty-printer.toPrettyString
in class BaseJsonNode
public 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 - 2020 Adobe. All Rights Reserved