org.apache.derby.client.am
Class Decimal

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

public class Decimal
extends java.lang.Object

Converters from fixed point decimal bytes to java.math.BigDecimal, double, or long.


Field Summary
private static MessageUtil msgutil
           
static int PACKED_DECIMAL
          Packed Decimal representation
private static int[][] tenRadixMagnitude
           
 
Constructor Summary
private Decimal()
           
 
Method Summary
static int bigDecimalToPackedDecimalBytes(byte[] buffer, int offset, java.math.BigDecimal b, int declaredPrecision, int declaredScale)
          Write a Java java.math.BigDecimal to packed decimal bytes.
private static int[] computeMagnitude(int[] input)
          Compute the int array of magnitude from input value segments.
static java.math.BigDecimal getBigDecimal(byte[] buffer, int offset, int precision, int scale)
          Build a java.math.BigDecimal from a fixed point decimal byte representation.
static double getDouble(byte[] buffer, int offset, int precision, int scale)
          Build a Java double from a fixed point decimal byte representation.
static long getLong(byte[] buffer, int offset, int precision, int scale)
          Build a Java long from a fixed point decimal byte representation.
private static 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 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 Detail

PACKED_DECIMAL

public static final int PACKED_DECIMAL
Packed Decimal representation

See Also:
Constant Field Values

msgutil

private static final MessageUtil msgutil

tenRadixMagnitude

private static final int[][] tenRadixMagnitude
Constructor Detail

Decimal

private Decimal()
Method Detail

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

public static final java.math.BigDecimal getBigDecimal(byte[] buffer,
                                                       int offset,
                                                       int precision,
                                                       int scale)
                                                throws java.io.UnsupportedEncodingException
Build a java.math.BigDecimal from a fixed point decimal byte representation.

Throws:
java.lang.IllegalArgumentException - if the specified representation is not recognized.
java.io.UnsupportedEncodingException

getDouble

public static final double getDouble(byte[] buffer,
                                     int offset,
                                     int precision,
                                     int scale)
                              throws java.io.UnsupportedEncodingException
Build a Java double from a fixed point decimal byte representation.

Throws:
java.lang.IllegalArgumentException - if the specified representation is not recognized.
java.io.UnsupportedEncodingException

getLong

public static final long getLong(byte[] buffer,
                                 int offset,
                                 int precision,
                                 int scale)
                          throws java.io.UnsupportedEncodingException
Build a Java long from a fixed point decimal byte representation.

Throws:
java.lang.IllegalArgumentException - if the specified representation is not recognized.
java.io.UnsupportedEncodingException

bigDecimalToPackedDecimalBytes

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

Throws:
SqlException

Built on Thu 2011-03-10 11:54:14+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.