ncsa.hdf.hdf5lib
Class HDFNativeData

java.lang.Object
  extended by ncsa.hdf.hdf5lib.HDFNativeData

public class HDFNativeData
extends java.lang.Object

This class encapsulates native methods to deal with arrays of numbers, converting from numbers to bytes and bytes to numbers.

These routines are used by class HDFArray to pass data to and from the HDF-5 library.

Methods xxxToByte() convert a Java array of primitive numbers (int, short, ...) to a Java array of bytes. Methods byteToXxx() convert from a Java array of bytes into a Java array of primitive numbers (int, short, ...)

Variant interfaces convert a section of an array, and also can convert to sub-classes of Java Number.

See also: ncsa.hdf.hdf5lib.HDFArray.


Constructor Summary
HDFNativeData()
           
 
Method Summary
static byte[] byteToByte(byte data)
          Convert a single byte into an array of one byte.
static byte[] byteToByte(java.lang.Byte data)
          Convert a single Byte object into an array of one byte.
static double[] byteToDouble(byte[] data)
          Convert an array of bytes into an array of double
static double byteToDouble(byte[] data, int start)
          Convert 8 bytes from an array of bytes into a single double
static double[] byteToDouble(int start, int len, byte[] data)
          Convert a range from an array of bytes into an array of double
static float[] byteToFloat(byte[] data)
          Convert an array of bytes into an array of floats
static float byteToFloat(byte[] data, int start)
          Convert 4 bytes from an array of bytes into a single float
static float[] byteToFloat(int start, int len, byte[] data)
          Convert a range from an array of bytes into an array of float
static int[] byteToInt(byte[] data)
          Convert an array of bytes into an array of ints
static int byteToInt(byte[] data, int start)
          Convert 4 bytes from an array of bytes into a single int
static int[] byteToInt(int start, int len, byte[] data)
          Convert a range from an array of bytes into an array of int
static long[] byteToLong(byte[] data)
          Convert an array of bytes into an array of long
static long byteToLong(byte[] data, int start)
          Convert 8 bytes from an array of bytes into a single long
static long[] byteToLong(int start, int len, byte[] data)
          Convert a range from an array of bytes into an array of long
static java.lang.Object byteToNumber(byte[] barray, java.lang.Object obj)
          Create a Number object from an array of bytes.
static short[] byteToShort(byte[] data)
          Convert an array of bytes into an array of shorts
static short byteToShort(byte[] data, int start)
          Convert 2 bytes from an array of bytes into a single short
static short[] byteToShort(int start, int len, byte[] data)
          Convert a range from an array of bytes into an array of short
static byte[] doubleToByte(double data)
          Convert a single double into an array of 8 bytes.
static byte[] doubleToByte(java.lang.Double data)
          Convert a single Double object into an array of 8 bytes.
static byte[] doubleToByte(int start, int len, double[] data)
          Convert a range from an array of double into an array of bytes.
static byte[] floatToByte(float data)
          Convert a single float into an array of 4 bytes.
static byte[] floatToByte(java.lang.Float data)
          Convert a single Float object into an array of 4 bytes.
static byte[] floatToByte(int start, int len, float[] data)
          Convert a range from an array of float into an array of bytes.
static byte[] intToByte(int data)
          Convert a single int into an array of 4 bytes.
static byte[] intToByte(java.lang.Integer data)
          Convert a single Integer object into an array of 4 bytes.
static byte[] intToByte(int start, int len, int[] data)
          Convert a range from an array of int into an array of bytes.
static byte[] longToByte(int start, int len, long[] data)
          Convert a range from an array of long into an array of bytes.
static byte[] longToByte(long data)
          Convert a single long into an array of 8 bytes.
static byte[] longToByte(java.lang.Long data)
          Convert a single Long object into an array of 8 bytes.
static byte[] shortToByte(int start, int len, short[] data)
          Convert a range from an array of short into an array of bytes.
static byte[] shortToByte(short data)
          Convert a single short into an array of 2 bytes.
static byte[] shortToByte(java.lang.Short data)
          Convert a single Short object into an array of 2 bytes.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HDFNativeData

public HDFNativeData()
Method Detail

byteToInt

public static int[] byteToInt(byte[] data)
Convert an array of bytes into an array of ints

Parameters:
data - The input array of bytes
Returns:
an array of int

byteToFloat

public static float[] byteToFloat(byte[] data)
Convert an array of bytes into an array of floats

Parameters:
data - The input array of bytes
Returns:
an array of float

byteToShort

public static short[] byteToShort(byte[] data)
Convert an array of bytes into an array of shorts

Parameters:
data - The input array of bytes
Returns:
an array of short

byteToLong

public static long[] byteToLong(byte[] data)
Convert an array of bytes into an array of long

Parameters:
data - The input array of bytes
Returns:
an array of long

byteToDouble

public static double[] byteToDouble(byte[] data)
Convert an array of bytes into an array of double

Parameters:
data - The input array of bytes
Returns:
an array of double

byteToInt

public static int[] byteToInt(int start,
                              int len,
                              byte[] data)
Convert a range from an array of bytes into an array of int

Parameters:
start - The position in the input array of bytes to start
len - The number of 'int' to convert
data - The input array of bytes
Returns:
an array of 'len' int

byteToInt

public static int byteToInt(byte[] data,
                            int start)
Convert 4 bytes from an array of bytes into a single int

Parameters:
start - The position in the input array of bytes to start
data - The input array of bytes
Returns:
The integer value of the bytes.

byteToShort

public static short[] byteToShort(int start,
                                  int len,
                                  byte[] data)
Convert a range from an array of bytes into an array of short

Parameters:
start - The position in the input array of bytes to start
len - The number of 'short' to convert
data - The input array of bytes
Returns:
an array of 'len' short

byteToShort

public static short byteToShort(byte[] data,
                                int start)
Convert 2 bytes from an array of bytes into a single short

Parameters:
start - The position in the input array of bytes to start
data - The input array of bytes
Returns:
The short value of the bytes.

byteToFloat

public static float[] byteToFloat(int start,
                                  int len,
                                  byte[] data)
Convert a range from an array of bytes into an array of float

Parameters:
start - The position in the input array of bytes to start
len - The number of 'float' to convert
data - The input array of bytes
Returns:
an array of 'len' float

byteToFloat

public static float byteToFloat(byte[] data,
                                int start)
Convert 4 bytes from an array of bytes into a single float

Parameters:
start - The position in the input array of bytes to start
data - The input array of bytes
Returns:
The float value of the bytes.

byteToLong

public static long[] byteToLong(int start,
                                int len,
                                byte[] data)
Convert a range from an array of bytes into an array of long

Parameters:
start - The position in the input array of bytes to start
len - The number of 'long' to convert
data - The input array of bytes
Returns:
an array of 'len' long

byteToLong

public static long byteToLong(byte[] data,
                              int start)
Convert 8 bytes from an array of bytes into a single long

Parameters:
start - The position in the input array of bytes to start
data - The input array of bytes
Returns:
The long value of the bytes.

byteToDouble

public static double[] byteToDouble(int start,
                                    int len,
                                    byte[] data)
Convert a range from an array of bytes into an array of double

Parameters:
start - The position in the input array of bytes to start
len - The number of 'double' to convert
data - The input array of bytes
Returns:
an array of 'len' double

byteToDouble

public static double byteToDouble(byte[] data,
                                  int start)
Convert 8 bytes from an array of bytes into a single double

Parameters:
start - The position in the input array of bytes to start
data - The input array of bytes
Returns:
The double value of the bytes.

intToByte

public static byte[] intToByte(int start,
                               int len,
                               int[] data)
Convert a range from an array of int into an array of bytes.

Parameters:
start - The position in the input array of int to start
len - The number of 'int' to convert
data - The input array of int
Returns:
an array of bytes

shortToByte

public static byte[] shortToByte(int start,
                                 int len,
                                 short[] data)
Convert a range from an array of short into an array of bytes.

Parameters:
start - The position in the input array of int to start
len - The number of 'short' to convert
data - The input array of short
Returns:
an array of bytes

floatToByte

public static byte[] floatToByte(int start,
                                 int len,
                                 float[] data)
Convert a range from an array of float into an array of bytes.

Parameters:
start - The position in the input array of int to start
len - The number of 'float' to convert
data - The input array of float
Returns:
an array of bytes

longToByte

public static byte[] longToByte(int start,
                                int len,
                                long[] data)
Convert a range from an array of long into an array of bytes.

Parameters:
start - The position in the input array of int to start
len - The number of 'long' to convert
data - The input array of long
Returns:
an array of bytes

doubleToByte

public static byte[] doubleToByte(int start,
                                  int len,
                                  double[] data)
Convert a range from an array of double into an array of bytes.

Parameters:
start - The position in the input array of double to start
len - The number of 'double' to convert
data - The input array of double
Returns:
an array of bytes

byteToByte

public static byte[] byteToByte(byte data)
Convert a single byte into an array of one byte.

(This is a trivial method.)

Parameters:
data - The input byte
Returns:
an array of bytes

byteToByte

public static byte[] byteToByte(java.lang.Byte data)
Convert a single Byte object into an array of one byte.

(This is an almost trivial method.)

Parameters:
data - The input Byte
Returns:
an array of bytes

intToByte

public static byte[] intToByte(int data)
Convert a single int into an array of 4 bytes.

Parameters:
data - The input int
Returns:
an array of bytes

intToByte

public static byte[] intToByte(java.lang.Integer data)
Convert a single Integer object into an array of 4 bytes.

Parameters:
data - The input Integer
Returns:
an array of bytes

shortToByte

public static byte[] shortToByte(short data)
Convert a single short into an array of 2 bytes.

Parameters:
data - The input short
Returns:
an array of bytes

shortToByte

public static byte[] shortToByte(java.lang.Short data)
Convert a single Short object into an array of 2 bytes.

Parameters:
data - The input Short
Returns:
an array of bytes

floatToByte

public static byte[] floatToByte(float data)
Convert a single float into an array of 4 bytes.

Parameters:
data - The input float
Returns:
an array of bytes

floatToByte

public static byte[] floatToByte(java.lang.Float data)
Convert a single Float object into an array of 4 bytes.

Parameters:
data - The input Float
Returns:
an array of bytes

longToByte

public static byte[] longToByte(long data)
Convert a single long into an array of 8 bytes.

Parameters:
data - The input long
Returns:
an array of bytes

longToByte

public static byte[] longToByte(java.lang.Long data)
Convert a single Long object into an array of 8 bytes.

Parameters:
data - The input Long
Returns:
an array of bytes

doubleToByte

public static byte[] doubleToByte(double data)
Convert a single double into an array of 8 bytes.

Parameters:
data - The input double
Returns:
an array of bytes

doubleToByte

public static byte[] doubleToByte(java.lang.Double data)
Convert a single Double object into an array of 8 bytes.

Parameters:
data - The input Double
Returns:
an array of bytes

byteToNumber

public static java.lang.Object byteToNumber(byte[] barray,
                                            java.lang.Object obj)
                                     throws HDF5Exception
Create a Number object from an array of bytes.

Parameters:
barray - The bytes to be converted
obj - Input object of the desired output class. Must be a sub-class of Number.
Returns:
A Object of the type of obj.
Throws:
HDF5Exception