Class NumberKey

    • Constructor Detail

      • NumberKey

        public NumberKey()
        Initializes the internal key value to null.
      • NumberKey

        public NumberKey​(String key)
        Creates an NumberKey and set its internal representation
        Parameters:
        key - the key value as String
      • NumberKey

        public NumberKey​(BigDecimal key)
        Creates an NumberKey and set its internal representation
        Parameters:
        key - the key value
      • NumberKey

        public NumberKey​(NumberKey key)
        Creates a NumberKey that is equivalent to key.
        Parameters:
        key - the key value
      • NumberKey

        public NumberKey​(long key)
        Creates a NumberKey equivalent to key.
        Parameters:
        key - the key value
      • NumberKey

        public NumberKey​(double key)
        Creates a NumberKey equivalent to key.
        Parameters:
        key - the key value
      • NumberKey

        public NumberKey​(int key)
        Creates a NumberKey equivalent to key. Convenience only.
        Parameters:
        key - the key value
      • NumberKey

        public NumberKey​(Number key)
        Creates a NumberKey equivalent to key. Convenience only.
        Parameters:
        key - the key value
    • Method Detail

      • setValue

        public void setValue​(String key)
        Sets the internal representation using a String representation of a number.
        Parameters:
        key - the key value
        Throws:
        NumberFormatException - if key is not a valid number
      • getJdbcType

        public int getJdbcType()
        Returns the JDBC type of the key as defined in java.sql.Types.
        Specified by:
        getJdbcType in class ObjectKey<BigDecimal>
        Returns:
        Types.NUMERIC.
      • byteValue

        public byte byteValue()
        Returns the value of this NumberKey as a byte. This value is subject to the conversion rules set out in Number.byteValue()
        Returns:
        the NumberKey converted to a byte
      • intValue

        public int intValue()
        Returns the value of this NumberKey as an int. This value is subject to the conversion rules set out in BigDecimal.intValue(), importantly any fractional part will be discarded and if the underlying value is too big to fit in an int, only the low-order 32 bits are returned. Note that this conversion can lose information about the overall magnitude and precision of the NumberKey value as well as return a result with the opposite sign.
        Returns:
        the NumberKey converted to an int
      • shortValue

        public short shortValue()
        Returns the value of this NumberKey as a short. This value is subject to the conversion rules set out in BigDecimal.intValue(), importantly any fractional part will be discarded and if the underlying value is too big to fit in a long, only the low-order 64 bits are returned. Note that this conversion can lose information about the overall magnitude and precision of the NumberKey value as well as return a result with the opposite sign.
        Returns:
        the NumberKey converted to a short
      • longValue

        public long longValue()
        Returns the value of this NumberKey as a long. This value is subject to the conversion rules set out in BigDecimal.intValue()
        Returns:
        the NumberKey converted to a long
      • floatValue

        public float floatValue()
        Returns the value of this NumberKey as a float. This value is subject to the conversion rules set out in BigDecimal.floatValue(), most importantly if the underlying value has too great a magnitude to represent as a float, it will be converted to Float.NEGATIVE_INFINITY or Float.POSITIVE_INFINITY as appropriate.
        Returns:
        the NumberKey converted to a float
      • doubleValue

        public double doubleValue()
        Returns the value of this NumberKey as a double. This value is subject to the conversion rules set out in BigDecimal.doubleValue(), most importantly if the underlying value has too great a magnitude to represent as a double, it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate.
        Returns:
        the NumberKey converted to a double