|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectncsa.hdf.object.HObject
ncsa.hdf.object.Datatype
ncsa.hdf.object.h5.H5Datatype
public class H5Datatype
This class defines HDF5 data type characteristics and APIs for a data type.
This class provides several methods to convert an HDF5 dataype identifier to a dataype object, and vice versa. A dataype object is described by four basic fields: datatype class, size, byte order, and sign, while an HDF5 dataype is presented by a datetype identifier.
| Field Summary | |
|---|---|
static long |
serialVersionUID
|
| Fields inherited from class ncsa.hdf.object.Datatype |
|---|
CLASS_ARRAY, CLASS_BITFIELD, CLASS_CHAR, CLASS_COMPOUND, CLASS_ENUM, CLASS_FLOAT, CLASS_INTEGER, CLASS_NO_CLASS, CLASS_OPAQUE, CLASS_REFERENCE, CLASS_STRING, CLASS_VLEN, datatypeClass, datatypeOrder, datatypeSign, datatypeSize, enumMembers, NATIVE, NSGN, ORDER_BE, ORDER_LE, ORDER_NONE, ORDER_VAX, SIGN_2, SIGN_NONE |
| Fields inherited from class ncsa.hdf.object.HObject |
|---|
hasAttribute, oid, separator |
| Constructor Summary | |
|---|---|
H5Datatype(FileFormat theFile,
java.lang.String name,
java.lang.String path)
Constrcuts an named HDF5 data type object for a given file, dataset name and group path. |
|
H5Datatype(FileFormat theFile,
java.lang.String name,
java.lang.String path,
long[] oid)
Deprecated. Not for public use in the future. Using H5Datatype(FileFormat, String, String) |
|
H5Datatype(int nativeID)
Constructs a Datatype with a given native datatype identifier. |
|
H5Datatype(int tclass,
int tsize,
int torder,
int tsign)
Constructs a Datatype with specified class, size, byte order and sign. |
|
| Method Summary | |
|---|---|
static java.lang.Object |
allocateArray(int tid,
int size)
Allocates an one-dimensional array of byte, short, int, long, float, double, or String to store data in memory. |
void |
close(int tid)
Closes a datatype identifier. |
static java.lang.String[] |
convertEnumValueToName(int tid,
java.lang.Object inValues,
java.lang.String[] outNames)
Converts values in an Enumeration Datatype to names. |
void |
fromNative(int tid)
Set datatype characteristics (class, size, byte order and sign) from a given datatye identifier. |
java.lang.String |
getDatatypeDescription()
Returns a short text description of this datatype. |
static java.lang.String |
getDatatypeDescription(int tid)
Returns a short description of a given datatype ID. |
static int |
getDatatypeSize(int tid)
Returns the size (in bytes) of a given datatype identifier. |
java.util.List |
getMetadata()
Retrieves the metadata such as attributes from file. |
boolean |
isUnsigned()
Checks if this datatype is an unsigned integer. |
static boolean |
isUnsigned(int datatype)
Checks if a datatype specified by the identifier is an unsigned integer. |
int |
open()
Opens access to a named datatype. |
void |
removeMetadata(java.lang.Object info)
Deletes an existing metadata from this data object. |
int |
toNative()
Converts the datatype object to a native datatype. |
static int |
toNative(int tid)
Deprecated. Not for public use in the future. Using H5.H5Tget_native_type(int)
Return the HDF5 memory datatype identifier based on the HDF5 datatype identifier on disk |
void |
writeMetadata(java.lang.Object info)
Writes a specific metadata (such as attribute) into file. |
| Methods inherited from class ncsa.hdf.object.Datatype |
|---|
getDatatypeClass, getDatatypeOrder, getDatatypeSign, getDatatypeSize, getEnumMembers, setEnumMembers |
| Methods inherited from class ncsa.hdf.object.HObject |
|---|
equalsOID, getFID, getFile, getFileFormat, getFullName, getName, getOID, getPath, hasAttribute, setName, setPath, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final long serialVersionUID
HObject.serialVersionUID,
Constant Field Values| Constructor Detail |
|---|
public H5Datatype(FileFormat theFile,
java.lang.String name,
java.lang.String path)
The datatype object represents an existing named datatype in file. For example, new H5Datatype(file, "dtype1", "/g0") constructs a datatype object that corresponds to the dataset,"dset1", at group "/g0".
theFile - the file that contains the dataset.name - the name of the dataset such as "dset1".path - the group path to the dataset such as "/g0/".
public H5Datatype(FileFormat theFile,
java.lang.String name,
java.lang.String path,
long[] oid)
H5Datatype(FileFormat, String, String)
public H5Datatype(int tclass,
int tsize,
int torder,
int tsign)
The following is a list of a few example of H5Datatype.
tclass - the class of the datatype, e.g. CLASS_INTEGER, CLASS_FLOAT and etc.tsize - the size of the datatype in bytes, e.g. for a 32-bit integer, the size is 4.torder - the byte order of the datatype. Valid values are ORDER_LE, ORDER_BE, ORDER_VAX and ORDER_NONEtsign - the sign of the datatype. Valid values are SIGN_NONE, SIGN_2 and MSGNpublic H5Datatype(int nativeID)
For example, if the datatype identifier is a 32-bit unsigned integer created from HDF5,
int tid = H5.H5Tcopy( HDF5Constants.H5T_NATIVE_UNINT32); Datatype dtype = new Datatype(tid);will construct a datatype equivalent to new Datatype(CLASS_INTEGER, 4, NATIVE, SIGN_NONE);
nativeID - the native datatype identifier.fromNative(int nativeID)| Method Detail |
|---|
public static final java.lang.String[] convertEnumValueToName(int tid,
java.lang.Object inValues,
java.lang.String[] outNames)
throws HDF5Exception
This method searches the identified enumeration datatype for
the values appearing in inValues and returns the
names corresponding to those values. If a given value is not
found in the enumeration datatype, the name corresponding to that
value will be set to null in the string array that is
returned.
If the method fails in general, null will be returned instead
of a String array. An empty inValues parameter,
an outNames array with a different number of entries
than the inValues array, or an invalid tid
would all cause general failure.
tid - The identifier of the enumeration datatype.inValues - The array of enumerations values to be converted.outNames - The array of names to be populated. If null, the array
will be created. If outNames is not null, the
number of entries must be the same as the number of values in
inValues.
HDF5Exception - If there is an error at the HDF5 library level.public void fromNative(int tid)
DatatypeSub-classes must implement it so that this datatype will be converted accordingly.
For example, if the type identifier is a 32-bit unsigned integer created from HDF5,
H5Datatype dtype = new H5Datatype(); dtype.fromNative(HDF5Constants.H5T_NATIVE_UNINT32);Where dtype is equivalent to
fromNative in class Datatypetid - the datatype identifier.public static int toNative(int tid)
H5.H5Tget_native_type(int)
Return the HDF5 memory datatype identifier based on the HDF5 datatype identifier on disk
tid - the datatype identifieron disk.
public int toNative()
Datatype
For example, a HDF5 datatype created from
H5Dataype dtype = new H5Datatype(CLASS_INTEGER, 4, NATIVE, SIGN_NONE); int tid = dtype.toNative();There "tid" will be the HDF5 datatype id of a 32-bit unsigned integer, which is equivalent to
int tid = H5.H5Tcopy( HDF5Constants.H5T_NATIVE_UNINT32);
toNative in class Datatype
public static java.lang.Object allocateArray(int tid,
int size)
throws java.lang.OutOfMemoryError
int tid = H5.H5Tcopy( HDF5Constants.H5T_NATIVE_INT32);
int[] data =(int[])allocateArray(tid, 100);
returns a 32-bit integer array of size 100.
tid - the datatype id.size - the total number of data points of the array.
java.lang.OutOfMemoryErrorpublic static final int getDatatypeSize(int tid)
It basically just calls H5Tget_size(tid).
tid - The datatype identifier.
H5.H5Tget_size(int)public java.lang.String getDatatypeDescription()
Datatype
getDatatypeDescription in class Datatypepublic static final java.lang.String getDatatypeDescription(int tid)
tid - the HDF5 datatype identifier
public boolean isUnsigned()
Datatype
isUnsigned in class Datatypepublic static final boolean isUnsigned(int datatype)
datatype - the datatype ID to be checked.
public int open()
It calls H5.H5Topen(loc, name).
open in class DatatypeH5.H5Topen(int, String)public void close(int tid)
It calls H5.H5close(tid).
close in class Datatypetid - the datatype ID to close
public java.util.List getMetadata()
throws HDF5Exception
DataFormatMetadata such as attributes are stored in a List.
getMetadata in interface DataFormatgetMetadata in class DatatypeHDF5Exception
public void writeMetadata(java.lang.Object info)
throws java.lang.Exception
DataFormatIf metadata exists, the method updates its value. If the metadata does not exists in file, it creates the metadata in file and attaches it to the object.
writeMetadata in interface DataFormatwriteMetadata in class Datatypeinfo - the metadata to write.
java.lang.Exception
public void removeMetadata(java.lang.Object info)
throws HDF5Exception
DataFormat
removeMetadata in interface DataFormatremoveMetadata in class Datatypeinfo - the metadata to delete.
HDF5Exception
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||