Package javax.json

Interface JsonNumber

  • All Superinterfaces:
    JsonValue

    public interface JsonNumber
    extends JsonValue
    An immutable JSON number value.

    This is a near-exact copy of the same-titled Java EE 8 Class: javax.json.JsonNumber
    Commenting has been slightly modified to accompany HiLiting the Code Examples.
    Java Source Code remains identical to the Sun-Oracle & 'GlassFish' Released Distributions.

    Read included License: HERE, and the CDDL+GPL-1.1
    All javax.json.* Code Obtained From: GitHub JavaEE jsonp  Public Archive.


    Implementations may use a BigDecimal object to store the numeric value internally. The BigDecimal object can be constructed from the following types:

    • int BigDecimal(int)
    • long BigDecimal(long)
    • BigInteger BigDecimal(BigInteger)
    • double BigDecimal.valueOf(double)
    • String BigDecimal(String).

    Some of the method semantics in this class are defined using the BigDecimal semantics.


    • Method Detail

      • isIntegral

        🡇     🗕  🗗  🗖
        boolean isIntegral()
        Returns true if this JSON number is a integral number. This method semantics are defined using bigDecimalValue().scale(). If the scale is zero, then it is considered integral type. This integral type information can be used to invoke an appropriate accessor method to obtain a numeric value as in the following example:

        Example:
         JsonNumber num = ...
         
         if (num.isIntegral())
             num.longValue();     // or other methods to get integral value
         else
             num.doubleValue();   // or other methods to get decimal number value
        
        Returns:
        true if this number is a integral number, otherwise false
      • intValue

        🡅  🡇     🗕  🗗  🗖
        int intValue()
        Returns this JSON number as an int. Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.
        Returns:
        an int representation of the JSON number
        See Also:
        BigDecimal.intValue()
      • intValueExact

        🡅  🡇     🗕  🗗  🗖
        int intValueExact()
        Returns this JSON number as an int.
        Returns:
        an int representation of the JSON number
        Throws:
        java.lang.ArithmeticException - if the number has a nonzero fractional part or if it does not fit in an int
        See Also:
        BigDecimal.intValueExact()
      • longValue

        🡅  🡇     🗕  🗗  🗖
        long longValue()
        Returns this JSON number as a long. Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.
        Returns:
        a long representation of the JSON number.
        See Also:
        BigDecimal.longValue()
      • longValueExact

        🡅  🡇     🗕  🗗  🗖
        long longValueExact()
        Returns this JSON number as a long.
        Returns:
        a long representation of the JSON number
        Throws:
        java.lang.ArithmeticException - if the number has a non-zero fractional part or if it does not fit in a long
        See Also:
        BigDecimal.longValueExact()
      • bigIntegerValue

        🡅  🡇     🗕  🗗  🗖
        java.math.BigInteger bigIntegerValue()
        Returns this JSON number as a BigInteger object. This is a a convenience method for bigDecimalValue().toBigInteger(). Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.
        Returns:
        a BigInteger representation of the JSON number.
        See Also:
        BigDecimal.toBigInteger()
      • bigIntegerValueExact

        🡅  🡇     🗕  🗗  🗖
        java.math.BigInteger bigIntegerValueExact()
        Returns this JSON number as a BigInteger object. This is a convenience method for bigDecimalValue().toBigIntegerExact().
        Returns:
        a BigInteger representation of the JSON number
        Throws:
        java.lang.ArithmeticException - if the number has a nonzero fractional part
        See Also:
        BigDecimal.toBigIntegerExact()
      • doubleValue

        🡅  🡇     🗕  🗗  🗖
        double doubleValue()
        Returns this JSON number as a double. This is a a convenience method for bigDecimalValue().doubleValue(). Note that this conversion can lose information about the overall magnitude and precision of the number value as well as return a result with the opposite sign.
        Returns:
        a double representation of the JSON number
        See Also:
        BigDecimal.doubleValue()
      • bigDecimalValue

        🡅  🡇     🗕  🗗  🗖
        java.math.BigDecimal bigDecimalValue()
        Returns this JSON number as a BigDecimal object.
        Returns:
        a BigDecimal representation of the JSON number
      • numberValue

        🡅  🡇     🗕  🗗  🗖
        default java.lang.Number numberValue()
        Returns this JSON number as a Number object.
        Returns:
        a Number representation of the JSON number
        Since:
        1.1
        Code:
        Exact Method Body:
         throw new UnsupportedOperationException();
        
      • toString

        🡅  🡇     🗕  🗗  🗖
        java.lang.String toString()
        Returns a JSON text representation of the JSON number. The representation is equivalent to BigDecimal.toString().
        Specified by:
        toString in interface JsonValue
        Overrides:
        toString in class java.lang.Object
        Returns:
        JSON text representation of the number
      • equals

        🡅  🡇     🗕  🗗  🗖
        boolean equals​(java.lang.Object obj)
        Compares the specified object with this JsonNumber object for equality. Returns true if and only if the type of the specified object is also JsonNumber and their bigDecimalValue() objects are equal
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to be compared for equality with this JsonNumber
        Returns:
        true if the specified object is equal to this JsonNumber
      • hashCode

        🡅     🗕  🗗  🗖
        int hashCode()
        Returns the hash code value for this JsonNumber object. The hash code of a JsonNumber object is defined as the hash code of its bigDecimalValue() object.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        the hash code value for this JsonNumber object