Class MissingNode
- java.lang.Object
-
- org.codehaus.jackson.JsonNode
-
- org.codehaus.jackson.node.BaseJsonNode
-
- org.codehaus.jackson.node.MissingNode
-
- All Implemented Interfaces:
java.lang.Iterable<JsonNode>,JsonSerializable,JsonSerializableWithType
public final class MissingNode extends BaseJsonNode
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.
-
-
Field Summary
-
Fields inherited from class org.codehaus.jackson.JsonNode
NO_NODES, NO_STRINGS
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanasBoolean(boolean defaultValue)Method that will try to convert value of this node to a Java boolean.doubleasDouble(double defaultValue)Method that will try to convert value of this node to a Java double.intasInt(int defaultValue)Method that will try to convert value of this node to a Java int.longasLong(long defaultValue)Method that will try to convert value of this node to a Java long.java.lang.StringasText()Method that will return valid String representation of the container value, if the node is a value node (methodJsonNode.isValueNode()returns true), otherwise empty String.JsonTokenasToken()Method that can be used for efficient type detection when using stream abstraction for traversing nodes.booleanequals(java.lang.Object o)Equality for node objects is defined as full (deep) value equality.static MissingNodegetInstance()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.JsonNodepath(int index)This method is similar toJsonNode.get(int), except that instead of returning null if no such element exists (due to index being out of range, or this node not being an array), a "missing node" (node that returns true forJsonNode.isMissingNode()) will be returned.JsonNodepath(java.lang.String fieldName)This method is similar toJsonNode.get(String), except that instead of returning null if no such value exists (due to this node not being an object, or object not having value for the specified field), a "missing node" (node that returns true forJsonNode.isMissingNode()) will be returned.voidserialize(JsonGenerator jg, SerializerProvider provider)Method called to serialize node instances using given generator.voidserializeWithType(JsonGenerator jg, 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.StringtoString()Note: marked as abstract to ensure all implementation classes define it properly.-
Methods inherited from class org.codehaus.jackson.node.BaseJsonNode
findParent, findParents, findPath, findValue, findValues, findValuesAsText, getNumberType, traverse
-
Methods inherited from class org.codehaus.jackson.JsonNode
asBoolean, asDouble, asInt, asLong, findParents, findValues, findValuesAsText, get, get, getBigIntegerValue, getBinaryValue, getBooleanValue, getDecimalValue, getDoubleValue, getElements, getFieldNames, getFields, getIntValue, getLongValue, getNumberValue, getPath, getPath, getTextValue, getValueAsBoolean, getValueAsBoolean, getValueAsDouble, getValueAsDouble, getValueAsInt, getValueAsInt, getValueAsLong, getValueAsLong, getValueAsText, has, has, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isFloatingPointNumber, isInt, isIntegralNumber, isLong, isNull, isNumber, isObject, isPojo, isTextual, isValueNode, iterator, size, with
-
-
-
-
Method Detail
-
getInstance
public static MissingNode getInstance()
-
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)- Specified by:
asTokenin classBaseJsonNode
-
isMissingNode
public boolean isMissingNode()
Description copied from class:JsonNodeMethod 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
JsonNode.isValueNode(),JsonNode.isContainerNode()andJsonNode.isMissingNode()ever returns true for any given node.- Overrides:
isMissingNodein classJsonNode
-
asText
public java.lang.String asText()
Description copied from class:JsonNodeMethod that will return valid String representation of the container value, if the node is a value node (methodJsonNode.isValueNode()returns true), otherwise empty String.
-
asBoolean
public boolean asBoolean(boolean defaultValue)
Description copied from class:JsonNodeMethod that will try to convert value of this node to a Java boolean. JSON booleans map naturally; integer numbers other than 0 map to true, and 0 maps to false and Strings 'true' and 'false' map to corresponding values.If representation can not be converted to a boolean value (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
asInt
public int asInt(int defaultValue)
Description copied from class:JsonNodeMethod that will try to convert value of this node to a Java int. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.If representation can not be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
asLong
public long asLong(long defaultValue)
Description copied from class:JsonNodeMethod that will try to convert value of this node to a Java long. Numbers are coerced using default Java rules; booleans convert to 0 (false) and 1 (true), and Strings are parsed using default Java language integer parsing rules.If representation can not be converted to an long (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
asDouble
public double asDouble(double defaultValue)
Description copied from class:JsonNodeMethod that will try to convert value of this node to a Java double. Numbers are coerced using default Java rules; booleans convert to 0.0 (false) and 1.0 (true), and Strings are parsed using default Java language integer parsing rules.If representation can not be converted to an int (including structured types like Objects and Arrays), specified defaultValue will be returned; no exceptions are thrown.
-
path
public JsonNode path(java.lang.String fieldName)
Description copied from class:JsonNodeThis method is similar toJsonNode.get(String), except that instead of returning null if no such value exists (due to this node not being an object, or object not having value for the specified field), a "missing node" (node that returns true forJsonNode.isMissingNode()) will be returned. This allows for convenient and safe chained access via path calls.
-
path
public JsonNode path(int index)
Description copied from class:JsonNodeThis method is similar toJsonNode.get(int), except that instead of returning null if no such element exists (due to index being out of range, or this node not being an array), a "missing node" (node that returns true forJsonNode.isMissingNode()) will be returned. This allows for convenient and safe chained access via path calls.
-
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 jg, 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 interfaceJsonSerializableWithType- Specified by:
serializeWithTypein classBaseJsonNode- 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.
-
-