Class Decimal

java.lang.Object
org.apache.derby.client.am.Decimal

public class Decimal extends Object
Converters from fixed point decimal bytes to java.math.BigDecimal, double, or long.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final MessageUtil
     
    static final int
    Packed Decimal representation
    private static final int[][]
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static final int
    bigDecimalToPackedDecimalBytes(byte[] buffer, int offset, BigDecimal b, int declaredPrecision, int declaredScale)
    Write a Java java.math.BigDecimal to packed decimal bytes.
    private static final int[]
    computeMagnitude(int[] input)
    Compute the int array of magnitude from input value segments.
    (package private) static BigDecimal
    getBigDecimal(byte[] buffer, int offset, int precision, int scale)
    Build a java.math.BigDecimal from a fixed point decimal byte representation.
    (package private) static double
    getDouble(byte[] buffer, int offset, int precision, int scale)
    Build a Java double from a fixed point decimal byte representation.
    (package private) static long
    getLong(byte[] buffer, int offset, int precision, int scale)
    Build a Java long from a fixed point decimal byte representation.
    private static final int
    packedNybblesToInt(byte[] buffer, int offset, int startNybble, int numberOfNybbles)
    Convert a range of packed nybbles (up to 9 digits without overflow) to an int.
    private static final long
    packedNybblesToLong(byte[] buffer, int offset, int startNybble, int numberOfNybbles)
    Convert a range of packed nybbles (up to 18 digits without overflow) to a long.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PACKED_DECIMAL

      public static final int PACKED_DECIMAL
      Packed Decimal representation
      See Also:
    • msgutil

      private static final MessageUtil msgutil
    • tenRadixMagnitude

      private static final int[][] tenRadixMagnitude
  • Constructor Details

    • Decimal

      private Decimal()
  • Method Details

    • packedNybblesToInt

      private static final int packedNybblesToInt(byte[] buffer, int offset, int startNybble, int numberOfNybbles)
      Convert a range of packed nybbles (up to 9 digits without overflow) to an int. Note that for performance purpose, it does not do array-out-of-bound checking.
    • packedNybblesToLong

      private static final long packedNybblesToLong(byte[] buffer, int offset, int startNybble, int numberOfNybbles)
      Convert a range of packed nybbles (up to 18 digits without overflow) to a long. Note that for performance purpose, it does not do array-out-of-bound checking.
    • computeMagnitude

      private static final int[] computeMagnitude(int[] input)
      Compute the int array of magnitude from input value segments.
    • getBigDecimal

      static BigDecimal getBigDecimal(byte[] buffer, int offset, int precision, int scale)
      Build a java.math.BigDecimal from a fixed point decimal byte representation.
      Throws:
      IllegalArgumentException - if the specified representation is not recognized.
    • getDouble

      static double getDouble(byte[] buffer, int offset, int precision, int scale)
      Build a Java double from a fixed point decimal byte representation.
      Throws:
      IllegalArgumentException - if the specified representation is not recognized.
    • getLong

      static long getLong(byte[] buffer, int offset, int precision, int scale)
      Build a Java long from a fixed point decimal byte representation.
      Throws:
      IllegalArgumentException - if the specified representation is not recognized.
      ArithmeticException - if value is too large for a long
    • bigDecimalToPackedDecimalBytes

      public static final int bigDecimalToPackedDecimalBytes(byte[] buffer, int offset, BigDecimal b, int declaredPrecision, int declaredScale) throws SqlException
      Write a Java java.math.BigDecimal to packed decimal bytes.
      Throws:
      SqlException