public class HDFArray
extends java.lang.Object
The purpose is to allow the storage and retrieval of arbitrary array types containing scientific data.
The methods support the conversion of an array to and from Java to a one-dimensional array of bytes suitable for I/O by the C library.
This class heavily uses the HDFNativeData class to convert between Java and C representations.
Constructor and Description |
---|
HDFArray(java.lang.Object anArray)
The input must be a Java Array (possibly multidimensional) of primitive numbers or sub-classes of
Number.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
arrayify(byte[] bytes)
Given a one-dimensional array of bytes representing numbers, convert it to a java array of the shape
and size passed to the constructor.
|
byte[] |
byteify()
Given a Java array of numbers, convert it to a one-dimensional array of bytes in correct native order.
|
byte[] |
emptyBytes()
Allocate a one-dimensional array of bytes sufficient to store the array.
|
public HDFArray(java.lang.Object anArray) throws HDFJavaException
The input is analysed to determine the number of dimensions and size of each dimension, as well as the type of the elements.
The description is saved in private variables, and used to convert data.
anArray
- The array object.HDFJavaException
- object is not an array.public byte[] emptyBytes() throws HDFJavaException
HDFJavaException
- Allocation failed.public byte[] byteify() throws HDFJavaException
HDFJavaException
- the object not an array or other internal error.public java.lang.Object arrayify(byte[] bytes) throws HDFJavaException
bytes
- The bytes to construct the Array.HDFJavaException
- the object not an array or other internal error.