Class FloatOriginNode

java.lang.Object
tools.jackson.databind.JacksonSerializable.Base
tools.jackson.databind.JsonNode
tools.jackson.databind.node.BaseJsonNode
tools.jackson.databind.node.ValueNode
tools.jackson.databind.node.NumericNode
tools.jackson.databind.node.NumericFPNode
tools.jackson.databind.node.DoubleNode
dev.frostlake.values.FloatOriginNode
All Implemented Interfaces:
Serializable, Iterable<tools.jackson.databind.JsonNode>, tools.jackson.core.TreeNode, tools.jackson.databind.JacksonSerializable

public final class FloatOriginNode extends tools.jackson.databind.node.DoubleNode
A JSON double node that remembers it came from a SQL FLOAT — TO_VARIANT of a FLOAT column, a computed double, a ::FLOAT cast — rather than from JSON text.

The two spell differently under the string conversions (live-verified): a FLOAT through TO_VARIANT and ::VARCHAR is 3.0 / 1.0E18 / -0.0, the shortest round-trip form, where a double read from JSON text (PARSE_JSON('3e0')) is the FLOAT text 3 / 1e+18 / -0. Nothing else tells them apart: TO_JSON, the canonical text, equality and hashing are all the double's own, so this node IS a double node and serialises exactly as one. The origin rides along in memory only; a value re-parsed from its text (a persistence or wire round-trip, an extracted member re-wrapped) is a plain double again and takes the FLOAT text, the same answer as before this node existed.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class tools.jackson.databind.JsonNode

    tools.jackson.databind.JsonNode.OverwriteMode

    Nested classes/interfaces inherited from interface tools.jackson.databind.JacksonSerializable

    tools.jackson.databind.JacksonSerializable.Base
  • Field Summary

    Fields inherited from class tools.jackson.databind.node.DoubleNode

    _value

    Fields inherited from class tools.jackson.databind.node.ValueNode

    BD_MAX_INTEGER, BD_MAX_LONG, BD_MAX_SHORT, BD_MIN_INTEGER, BD_MIN_LONG, BD_MIN_SHORT, BI_MAX_INTEGER, BI_MAX_LONG, BI_MAX_SHORT, BI_MIN_INTEGER, BI_MIN_LONG, BI_MIN_SHORT, MISSING

    Fields inherited from class tools.jackson.databind.node.BaseJsonNode

    OPT_FALSE, OPT_TRUE
  • Constructor Summary

    Constructors
    Constructor
    Description
    FloatOriginNode(double value)
     
  • Method Summary

    Methods inherited from class tools.jackson.databind.node.DoubleNode

    _asBigIntegerValueUnchecked, _asDecimalValueUnchecked, _asIntValueUnchecked, _asLongValueUnchecked, _asShortValueUnchecked, _asString, asDouble, asDouble, asDoubleOpt, asFloat, asFloat, asFloatOpt, doubleValue, doubleValue, doubleValueOpt, equals, floatValue, floatValue, floatValueOpt, hasFractionalPart, hashCode, inIntRange, inLongRange, inShortRange, isDouble, isNaN, numberType, numberValue, serialize, valueOf

    Methods inherited from class tools.jackson.databind.node.NumericFPNode

    asBigInteger, asBigInteger, asBigIntegerOpt, asDecimal, asDecimal, asDecimalOpt, asInt, asInt, asIntOpt, asLong, asLong, asLongOpt, asShort, asShort, asShortOpt, asToken, bigIntegerValue, bigIntegerValue, bigIntegerValueOpt, canConvertToExactIntegral, canConvertToInt, canConvertToLong, canConvertToShort, decimalValue, decimalValue, decimalValueOpt, intValue, intValue, intValueOpt, isFloatingPointNumber, longValue, longValue, longValueOpt, shortValue, shortValue, shortValueOpt

    Methods inherited from class tools.jackson.databind.node.NumericNode

    _valueDesc, deepCopy, getNodeType

    Methods inherited from class tools.jackson.databind.node.ValueNode

    _at, findParent, findParents, findValue, findValues, findValuesAsString, get, get, has, has, hasNonNull, hasNonNull, isEmpty, path, path, serializeWithType

    Methods inherited from class tools.jackson.databind.node.BaseJsonNode

    _asBoolean, _jsonPointerIfValid, _reportBigDecimalConversionNaNFail, _reportBigIntegerConversionFractionFail, _reportBigIntegerConversionNaNFail, _reportCoercionFail, _reportCoercionFail, _reportConversionFail, _reportDoubleConversionRangeFail, _reportFloatConversionRangeFail, _reportIntConversionFractionFail, _reportIntConversionNaNFail, _reportIntConversionRangeFail, _reportLongConversionFractionFail, _reportLongConversionNaNFail, _reportLongConversionRangeFail, _reportShortConversionFractionFail, _reportShortConversionRangeFail, _reportWrongNodeType, _withArray, _withObject, _withXxxMayReplace, _withXxxVerifyReplace, asArray, asArrayOpt, asBoolean, asBoolean, asBooleanOpt, asObject, asObjectOpt, asString, asString, asStringOpt, binaryValue, booleanValue, booleanValue, booleanValueOpt, findPath, isEmbeddedValue, isMissingNode, required, required, stringValue, stringValue, stringValueOpt, toPrettyString, toString, traverse, withArray, withObject

    Methods inherited from class tools.jackson.databind.JsonNode

    _reportRequiredViolation, _reportUnsupportedOperation, _this, asOptional, asText, asText, at, at, equals, findParents, findValues, findValuesAsString, forEachEntry, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainer, isFloat, isInt, isIntegralNumber, isLong, isNull, isNumber, isObject, isPojo, isShort, isString, isTextual, isValueNode, iterator, map, missingAs, missingAs, nullAs, nullAs, optional, optional, properties, propertyNames, propertyStream, require, requiredAt, requiredAt, requireNonNull, size, spliterator, textValue, values, valueStream, withArray, withArray, withArray, withArrayProperty, withObject, withObject, withObject, withObjectProperty

    Methods inherited from class tools.jackson.databind.JacksonSerializable.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
  • Constructor Details

    • FloatOriginNode

      public FloatOriginNode(double value)