Class FloatNode
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonSerializable.Base
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonNode
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.BaseJsonNode
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.ValueNode
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.NumericNode
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.FloatNode
- All Implemented Interfaces:
TreeNode
,JsonSerializable
,Serializable
,Iterable<JsonNode>
JsonNode
implementation for efficiently containing 32-bit
`float` values.- Since:
- 2.2
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonNode
JsonNode.OverwriteMode
Nested classes/interfaces inherited from interface edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonSerializable
JsonSerializable.Base
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionasText()
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.asToken()
Method that can be used for efficient type detection when using stream abstraction for traversing nodes.Returns integer value for this node (asBigInteger
), if and only if this node is numeric (JsonNode.isNumber()
returns true).boolean
Method that can be used to check whether contained value is numeric (returns true forJsonNode.isNumber()
) and can be losslessly converted to integral number (specifically,BigInteger
but potentially others, seeJsonNode.canConvertToInt()
andJsonNode.canConvertToInt()
).boolean
Method that can be used to check whether this node is a numeric node (JsonNode.isNumber()
would return true) AND its value fits within Java's 32-bit signed integer type,int
.boolean
Method that can be used to check whether this node is a numeric node (JsonNode.isNumber()
would return true) AND its value fits within Java's 64-bit signed integer type,long
.Returns floating point value for this node (asBigDecimal
), if and only if this node is numeric (JsonNode.isNumber()
returns true).double
Returns 64-bit floating point (double) value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true).boolean
Equality for node objects is defined as full (deep) value equality.float
Returns 32-bit floating value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true).int
hashCode()
int
intValue()
Returns integer value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true).boolean
isFloat()
boolean
boolean
isNaN()
Convenience method for checking whether this node is aFloatNode
orDoubleNode
that contains "not-a-number" (NaN) value.long
Returns 64-bit long value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true).Returns code that identifies type of underlying numeric value, if (and only if) node is a number node.Returns numeric value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true); otherwise returns nullfinal void
serialize
(JsonGenerator g, SerializerProvider provider) Method called to serialize node instances using given generator.short
Returns 16-bit short value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true).static FloatNode
valueOf
(float v) Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.NumericNode
asDouble, asDouble, asInt, asInt, asLong, asLong, getNodeType
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.ValueNode
_at, deepCopy, findParent, findParents, findValue, findValues, findValuesAsText, get, get, has, has, hasNonNull, hasNonNull, isEmpty, path, path, serializeWithType
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.node.BaseJsonNode
_jsonPointerIfValid, _reportWrongNodeOperation, _reportWrongNodeType, _withArray, _withObject, _withXxxMayReplace, _withXxxVerifyReplace, findPath, required, required, toPrettyString, toString, traverse, traverse, withArray, withObject
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonNode
_reportRequiredViolation, _this, asBoolean, asBoolean, asText, at, at, binaryValue, booleanValue, elements, equals, fieldNames, fields, findParents, findValues, findValuesAsText, isArray, isBigDecimal, isBigInteger, isBinary, isBoolean, isContainerNode, isDouble, isInt, isIntegralNumber, isLong, isMissingNode, isNull, isNumber, isObject, isPojo, isShort, isTextual, isValueNode, iterator, require, requiredAt, requiredAt, requireNonNull, size, textValue, with, withArray, withArray, withArray, withObject, withObject, withObject
Methods inherited from class edu.internet2.middleware.grouperClientExt.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
-
Field Details
-
_value
protected final float _value
-
-
Constructor Details
-
FloatNode
public FloatNode(float v)
-
-
Method Details
-
valueOf
-
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) -
numberType
Description copied from class:BaseJsonNode
Returns code that identifies type of underlying numeric value, if (and only if) node is a number node.- Specified by:
numberType
in interfaceTreeNode
- Specified by:
numberType
in classNumericNode
- Returns:
- Type of number contained, if any; or null if node does not contain numeric value.
-
isFloatingPointNumber
public boolean isFloatingPointNumber()- Overrides:
isFloatingPointNumber
in classJsonNode
- Returns:
- True if this node represents a non-integral numeric JSON value
-
isFloat
public boolean isFloat() -
canConvertToInt
public boolean canConvertToInt()Description copied from class:JsonNode
Method that can be used to check whether this node is a numeric node (JsonNode.isNumber()
would return true) AND its value fits within Java's 32-bit signed integer type,int
. Note that floating-point numbers are convertible if the integral part fits without overflow (as per standard Java coercion rules)NOTE: this method does not consider possible value type conversion from JSON String into Number; so even if this method returns false, it is possible that
JsonNode.asInt()
could still succeed if node is a JSON String representing integral number, or boolean.- Specified by:
canConvertToInt
in classNumericNode
-
canConvertToLong
public boolean canConvertToLong()Description copied from class:JsonNode
Method that can be used to check whether this node is a numeric node (JsonNode.isNumber()
would return true) AND its value fits within Java's 64-bit signed integer type,long
. Note that floating-point numbers are convertible if the integral part fits without overflow (as per standard Java coercion rules)NOTE: this method does not consider possible value type conversion from JSON String into Number; so even if this method returns false, it is possible that
JsonNode.asLong()
could still succeed if node is a JSON String representing integral number, or boolean.- Specified by:
canConvertToLong
in classNumericNode
-
canConvertToExactIntegral
public boolean canConvertToExactIntegral()Description copied from class:JsonNode
Method that can be used to check whether contained value is numeric (returns true forJsonNode.isNumber()
) and can be losslessly converted to integral number (specifically,BigInteger
but potentially others, seeJsonNode.canConvertToInt()
andJsonNode.canConvertToInt()
). Latter part allows floating-point numbers (for whichJsonNode.isFloatingPointNumber()
returnstrue
) that do not have fractional part. Note that "not-a-number" values ofdouble
andfloat
will returnfalse
as they can not be converted to matching integral representations.- Overrides:
canConvertToExactIntegral
in classJsonNode
- Returns:
- True if the value is an actual number with no fractional part; false for non-numeric types, NaN representations of floating-point numbers, and floating-point numbers with fractional part.
-
numberValue
Description copied from class:JsonNode
Returns numeric value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true); otherwise returns null- Specified by:
numberValue
in classNumericNode
- Returns:
- Number value this node contains, if any (null for non-number nodes).
-
shortValue
public short shortValue()Description copied from class:JsonNode
Returns 16-bit short value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returns 0. For floating-point numbers, value is truncated using default Java coercion, similar to how cast from double to short operates.- Overrides:
shortValue
in classJsonNode
- Returns:
- Short value this node contains, if any; 0 for non-number nodes.
-
intValue
public int intValue()Description copied from class:JsonNode
Returns integer value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returns 0. For floating-point numbers, value is truncated using default Java coercion, similar to how cast from double to int operates.- Specified by:
intValue
in classNumericNode
- Returns:
- Integer value this node contains, if any; 0 for non-number nodes.
-
longValue
public long longValue()Description copied from class:JsonNode
Returns 64-bit long value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returns 0. For floating-point numbers, value is truncated using default Java coercion, similar to how cast from double to long operates.- Specified by:
longValue
in classNumericNode
- Returns:
- Long value this node contains, if any; 0 for non-number nodes.
-
floatValue
public float floatValue()Description copied from class:JsonNode
Returns 32-bit floating value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returns 0.0. For integer values, conversion is done using coercion; this means that an overflow is possible for `long` values- Overrides:
floatValue
in classJsonNode
- Returns:
- 32-bit float value this node contains, if any; 0.0 for non-number nodes.
-
doubleValue
public double doubleValue()Description copied from class:JsonNode
Returns 64-bit floating point (double) value for this node, if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returns 0.0. For integer values, conversion is done using coercion; this may result in overflows withBigInteger
values.- Specified by:
doubleValue
in classNumericNode
- Returns:
- 64-bit double value this node contains, if any; 0.0 for non-number nodes.
-
decimalValue
Description copied from class:JsonNode
Returns floating point value for this node (asBigDecimal
), if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returnsBigDecimal.ZERO
.- Specified by:
decimalValue
in classNumericNode
- Returns:
BigDecimal
value this node contains, if numeric node;BigDecimal.ZERO
for non-number nodes.
-
bigIntegerValue
Description copied from class:JsonNode
Returns integer value for this node (asBigInteger
), if and only if this node is numeric (JsonNode.isNumber()
returns true). For other types returnsBigInteger.ZERO
.- Specified by:
bigIntegerValue
in classNumericNode
- Returns:
BigInteger
value this node contains, if numeric node;BigInteger.ZERO
for non-number nodes.
-
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.- Specified by:
asText
in classNumericNode
-
isNaN
public boolean isNaN()Description copied from class:NumericNode
Convenience method for checking whether this node is aFloatNode
orDoubleNode
that contains "not-a-number" (NaN) value.- Overrides:
isNaN
in classNumericNode
-
serialize
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
-
equals
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
. -
hashCode
public int hashCode()- Specified by:
hashCode
in classBaseJsonNode
-