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:
TreeNode,JsonSerializable,java.io.Serializable,java.lang.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.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringasText()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.java.lang.StringasText(java.lang.String defaultValue)Method similar toJsonNode.asText(), except that it will returndefaultValuein 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.JsonTokenasToken()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.booleanequals(java.lang.Object o)Equality for node objects is defined as full (deep) value equality.static MissingNodegetInstance()JsonNodeTypegetNodeType()Return the type of this nodeinthashCode()booleanisMissingNode()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.JsonNoderequire()JsonNoderequireNonNull()voidserialize(JsonGenerator jg, SerializerProvider provider)Method called to serialize node instances using given generator.voidserializeWithType(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.-
Methods inherited from class com.fasterxml.jackson.databind.node.ValueNode
findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, isEmpty, path, path
-
Methods inherited from class com.fasterxml.jackson.databind.node.BaseJsonNode
findPath, numberType, required, required, toPrettyString, toString, 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, requiredAt, requiredAt, shortValue, size, textValue, with, withArray
-
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializable.Base
isEmpty
-
-
-
-
Method Detail
-
isMissingNode
public boolean isMissingNode()
Description copied from interface:TreeNodeMethod that returns true for "virtual" nodes which represent missing entries constructed by path accessor methods when there is no actual node matching given criteria.Note: one and only one of methods
TreeNode.isValueNode(),TreeNode.isContainerNode()andTreeNode.isMissingNode()ever returns true for any given node.- Specified by:
isMissingNodein interfaceTreeNode- Overrides:
isMissingNodein classJsonNode
-
deepCopy
public <T extends JsonNode> T deepCopy()
Description copied from class:ValueNodeAll 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:JsonNodeReturn the type of this node- Specified by:
getNodeTypein classJsonNode- Returns:
- the node type as a
JsonNodeTypeenum value
-
asToken
public JsonToken asToken()
Description copied from class:BaseJsonNodeMethod that can be used for efficient type detection when using stream abstraction for traversing nodes. Will return the firstJsonTokenthat equivalent stream event would produce (for most nodes there is just one token but for structured/container types multiple)
-
asText
public java.lang.String asText()
Description copied from class:JsonNodeMethod 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 java.lang.String asText(java.lang.String defaultValue)
Description copied from class:JsonNodeMethod similar toJsonNode.asText(), except that it will returndefaultValuein 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(JsonGenerator jg, SerializerProvider provider) throws java.io.IOException, JsonProcessingException
Description copied from class:BaseJsonNodeMethod called to serialize node instances using given generator.- Specified by:
serializein interfaceJsonSerializable- Specified by:
serializein classBaseJsonNode- Throws:
java.io.IOExceptionJsonProcessingException
-
serializeWithType
public void serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws java.io.IOException, JsonProcessingException
Description copied from class:BaseJsonNodeType information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.- Specified by:
serializeWithTypein interfaceJsonSerializable- Overrides:
serializeWithTypein classValueNode- Throws:
java.io.IOExceptionJsonProcessingException
-
equals
public boolean equals(java.lang.Object o)
Description copied from class:JsonNodeEquality 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.
-
requireNonNull
public JsonNode requireNonNull()
- Overrides:
requireNonNullin classJsonNode
-
hashCode
public int hashCode()
- Specified by:
hashCodein classBaseJsonNode
-
-