Class JsonNumberImpl.JsonLongNumber

java.lang.Object
org.glassfish.json.JsonNumberImpl
org.glassfish.json.JsonNumberImpl.JsonLongNumber
All Implemented Interfaces:
JsonNumber, JsonValue
Enclosing class:
JsonNumberImpl

private static final class JsonNumberImpl.JsonLongNumber extends JsonNumberImpl
  • Field Details

    • num

      private final long num
    • bigDecimal

      private BigDecimal bigDecimal
  • Constructor Details

    • JsonLongNumber

      JsonLongNumber(long num)
  • Method Details

    • isIntegral

      public boolean isIntegral()
      Description copied from interface: JsonNumber
      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:
       
       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
       }
       
       
      Specified by:
      isIntegral in interface JsonNumber
      Overrides:
      isIntegral in class JsonNumberImpl
      Returns:
      true if this number is a integral number, otherwise false
    • longValue

      public long longValue()
      Description copied from interface: JsonNumber
      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.
      Specified by:
      longValue in interface JsonNumber
      Overrides:
      longValue in class JsonNumberImpl
      Returns:
      a long representation of the JSON number.
      See Also:
    • longValueExact

      public long longValueExact()
      Description copied from interface: JsonNumber
      Returns this JSON number as a long.
      Specified by:
      longValueExact in interface JsonNumber
      Overrides:
      longValueExact in class JsonNumberImpl
      Returns:
      a long representation of the JSON number
      See Also:
    • doubleValue

      public double doubleValue()
      Description copied from interface: JsonNumber
      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.
      Specified by:
      doubleValue in interface JsonNumber
      Overrides:
      doubleValue in class JsonNumberImpl
      Returns:
      a double representation of the JSON number
      See Also:
    • bigDecimalValue

      public BigDecimal bigDecimalValue()
      Description copied from interface: JsonNumber
      Returns this JSON number as a BigDecimal object.
      Returns:
      a BigDecimal representation of the JSON number
    • toString

      public String toString()
      Description copied from interface: JsonNumber
      Returns a JSON text representation of the JSON number. The representation is equivalent to BigDecimal.toString().
      Specified by:
      toString in interface JsonNumber
      Specified by:
      toString in interface JsonValue
      Overrides:
      toString in class JsonNumberImpl
      Returns:
      JSON text representation of the number