Draft 01/30/01

com.ibm.converters
Class SignedBinary

java.lang.Object
  |
  +--com.ibm.converters.SignedBinary

public class SignedBinary
extends Object

Converters from signed binary bytes to Java short, int, or long.

Author:
John Vonau, Paul Ostler, reviewed by Mike Fulton

Field Summary
static int BIG_ENDIAN
          AS/400, Unix, System/390 byte-order for signed binary representations.
static int LITTLE_ENDIAN
          Intel 80/86 reversed byte-order for signed binary representations.
 
Method Summary
static int bigEndianBytesToInt(byte[] buffer, int offset)
          Build a Java int from a 4-byte big endian signed binary representation.
static long bigEndianBytesToLong(byte[] buffer, int offset)
          Build a Java long from an 8-byte big endian signed binary representation.
static short bigEndianBytesToShort(byte[] buffer, int offset)
          Build a Java short from a 2-byte big endian signed binary representation.
static int getInt(byte[] buffer, int offset, int byteOrder)
          Build a Java int from a 4-byte signed binary representation.
static long getLong(byte[] buffer, int offset, int byteOrder)
          Build a Java long from an 8-byte signed binary representation.
static short getShort(byte[] buffer, int offset, int byteOrder)
          Build a Java short from a 2-byte signed binary representation.
static int littleEndianBytesToInt(byte[] buffer, int offset)
          Build a Java int from a 4-byte little endian signed binary representation.
static long littleEndianBytesToLong(byte[] buffer, int offset)
          Build a Java long from an 8-byte little endian signed binary representation.
static short littleEndianBytesToShort(byte[] buffer, int offset)
          Build a Java short from a 2-byte little endian signed binary representation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BIG_ENDIAN

public static final int BIG_ENDIAN
AS/400, Unix, System/390 byte-order for signed binary representations.

LITTLE_ENDIAN

public static final int LITTLE_ENDIAN
Intel 80/86 reversed byte-order for signed binary representations.
Method Detail

getShort

public static short getShort(byte[] buffer,
                             int offset,
                             int byteOrder)
Build a Java short from a 2-byte signed binary representation.

Depending on machine type, byte orders are BIG_ENDIAN for signed binary integers, and LITTLE_ENDIAN for pc8087 signed binary integers.

Throws:
IllegalArgumentException - if the specified byte order is not recognized.

getInt

public static int getInt(byte[] buffer,
                         int offset,
                         int byteOrder)
Build a Java int from a 4-byte signed binary representation.

Depending on machine type, byte orders are BIG_ENDIAN for signed binary integers, and LITTLE_ENDIAN for pc8087 signed binary integers.

Throws:
IllegalArgumentException - if the specified byte order is not recognized.

getLong

public static long getLong(byte[] buffer,
                           int offset,
                           int byteOrder)
Build a Java long from an 8-byte signed binary representation.

Depending on machine type, byte orders are BIG_ENDIAN for signed binary integers, and LITTLE_ENDIAN for pc8087 signed binary integers.

For OS/390 UDB, where BIGINT is not supported, use Decimal converters on a DB2 DECIMAL(19,0) field.

Throws:
IllegalArgumentException - if the specified byte order is not recognized.

bigEndianBytesToShort

public static short bigEndianBytesToShort(byte[] buffer,
                                          int offset)
Build a Java short from a 2-byte big endian signed binary representation.

littleEndianBytesToShort

public static short littleEndianBytesToShort(byte[] buffer,
                                             int offset)
Build a Java short from a 2-byte little endian signed binary representation.

bigEndianBytesToInt

public static int bigEndianBytesToInt(byte[] buffer,
                                      int offset)
Build a Java int from a 4-byte big endian signed binary representation.

littleEndianBytesToInt

public static int littleEndianBytesToInt(byte[] buffer,
                                         int offset)
Build a Java int from a 4-byte little endian signed binary representation.

bigEndianBytesToLong

public static long bigEndianBytesToLong(byte[] buffer,
                                        int offset)
Build a Java long from an 8-byte big endian signed binary representation.

littleEndianBytesToLong

public static long littleEndianBytesToLong(byte[] buffer,
                                           int offset)
Build a Java long from an 8-byte little endian signed binary representation.

Draft 01/30/01

Send comments or suggestions to jcc@us.ibm.com