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
,Iterable<JsonNode>
public final class MissingNode extends ValueNode
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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
MissingNode()
NOTE: visibility raised to `protected` in 2.9.3 to allow custom subtypes.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.String
asText(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.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
equals(Object o)
Equality for node objects is defined as full (deep) value equality.static MissingNode
getInstance()
JsonNodeType
getNodeType()
Return the type of this nodeint
hashCode()
boolean
isMissingNode()
void
serialize(com.fasterxml.jackson.core.JsonGenerator jg, 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.String
toString()
Method that will produce developer-readable representation of the node; which may or may not be as valid JSON.-
Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode
_at, findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, path, path
-
Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
findPath, numberType, traverse, traverse
-
Methods inherited from class com.fasterxml.jackson.databind.JsonNode
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, shortValue, size, textValue, 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
-
isMissingNode
public boolean isMissingNode()
- Specified by:
isMissingNode
in interfacecom.fasterxml.jackson.core.TreeNode
- Overrides:
isMissingNode
in classJsonNode
-
deepCopy
public <T extends JsonNode> T deepCopy()
Description copied from class:ValueNode
All current value nodes are immutable, so we can just return them as is.
-
getInstance
public static MissingNode getInstance()
-
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 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
public 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 String asText(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.
-
serialize
public final void serialize(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
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
com.fasterxml.jackson.core.JsonProcessingException
-
serializeWithType
public void serializeWithType(com.fasterxml.jackson.core.JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws IOException, com.fasterxml.jackson.core.JsonProcessingException
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
com.fasterxml.jackson.core.JsonProcessingException
-
equals
public boolean equals(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
.
-
toString
public String toString()
Description copied from class:JsonNode
Method that will produce developer-readable representation of the node; which may or may not be as valid JSON. If you want valid 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.
-
hashCode
public int hashCode()
- Specified by:
hashCode
in classBaseJsonNode
-
-