## ncsa.hdf.hdf5lib
Class HDFArray

    java.lang.Object
      ncsa.hdf.hdf5lib.HDFArray

public class HDFArray
extends Object

This is a class for handling multidimensional arrays for HDF.

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 Summary
`HDFArray(Object anArray)` The input must be a Java Array (possibly multidimensional) of primitive numbers or sub-classes of Number.

Method Summary
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HDFArray

    public HDFArray(Object anArray)
             throws HDF5Exception

  The input must be a Java Array (possibly multidimensional) of primitive numbers or sub-classes of Number.

  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.

Throws:
  `ncsa.hdf.hdf5lib.exception.HDF5Exception` - object is not an array.
  `HDF5Exception`

Method Detail

### emptyBytes

    public byte[] emptyBytes()
                      throws HDF5Exception

  Allocate a one-dimensional array of bytes sufficient to store the array.

  Returns:
    A one-D array of bytes, filled with zeroes. The bytes are sufficient to hold the data of the Array passed to the constructor.
  Throws:
    `ncsa.hdf.hdf5lib.exception.HDF5JavaException` - Allocation failed.
    `HDF5Exception`

### byteify

    public byte[] byteify()
                   throws HDF5Exception

  Given a Java array of numbers, convert it to a one-dimensional array of bytes in correct native order.

  Returns:
    A one-D array of bytes, constructed from the Array passed to the constructor.
  Throws:
    `ncsa.hdf.hdf5lib.exception.HDF5Exception` - thrown for errors in HDF5
    `ncsa.hdf.hdf5lib.exception.HDF5JavaException` - the object not an array or other internal error.
    `HDF5Exception`

### arrayify

    public Object arrayify(byte[] bytes)
                    throws HDF5Exception

  Given a one-dimensional array of bytes representing numbers, convert it to a java array of the shape and size passed to the constructor.

  Parameters:
    `bytes` - The bytes to construct the Array.
  Returns:
    An Array (possibly multidimensional) of primitive or number objects.
  Throws:
    `ncsa.hdf.hdf5lib.exception.HDF5Exception` - thrown for errors in HDF5
    `ncsa.hdf.hdf5lib.exception.HDF5JavaException` - the object not an array or other internal error.
    `HDF5Exception`