public class H4Datatype extends Datatype
This class provides several methods to convert an HDF4 datatype identifier to a datatype object, and vice versa. A datatype object is described by four basic fields: datatype class, size, byte order, and sign, while an HDF5 datatype is presented by a datatype identifier.
baseType, CLASS_ARRAY, CLASS_BITFIELD, CLASS_CHAR, CLASS_COMPOUND, CLASS_ENUM, CLASS_FLOAT, CLASS_INTEGER, CLASS_NO_CLASS, CLASS_OPAQUE, CLASS_REFERENCE, CLASS_STRING, CLASS_TIME, CLASS_VLEN, compoundMemberFieldIDs, compoundMemberNames, compoundMemberOffsets, compoundMemberTypes, datatypeClass, datatypeOrder, datatypeSign, datatypeSize, dims, enumMembers, isVLEN, NATIVE, NSGN, ORDER_BE, ORDER_LE, ORDER_NONE, ORDER_VAX, SIGN_2, SIGN_NONE
fileFormat, linkTargetObjName, oid, separator
Constructor and Description |
---|
H4Datatype(int nativeID)
Constructs a H4Datatype with a given native datatype identifier.
|
H4Datatype(int tclass,
int tsize,
int torder,
int tsign)
Constructs a H4Datatype with specified class, size, byte order and sign.
|
Modifier and Type | Method and Description |
---|---|
static Object |
allocateArray(int datatype,
int datasize)
Allocate a 1D array large enough to hold a multidimensional
array of 'datasize' elements of 'datatype' numbers.
|
void |
close(int id)
Closes a datatype identifier.
|
void |
fromNative(int tid)
Set datatype characteristics (class, size, byte order and sign) from a
given datatype identifier.
|
String |
getDatatypeDescription()
Returns a short text description of this datatype.
|
static String |
getDatatypeDescription(int datatype)
Returns the short description of a given datatype.
|
List |
getMetadata(int... attrPropList) |
boolean |
hasAttribute()
Check if the object has any attributes attached.
|
boolean |
isUnsigned()
Checks if this datatype is an unsigned integer.
|
static boolean |
isUnsigned(int datatype)
Checks if the datatype is an unsigned integer.
|
int |
toNative()
Converts the datatype object to a native datatype.
|
getArrayDims, getBasetype, getCompoundMemberNames, getCompoundMemberTypes, getDatatypeClass, getDatatypeOrder, getDatatypeSign, getDatatypeSize, getEnumMembers, getMetadata, isVLEN, open, removeMetadata, setEnumMembers, updateMetadata, writeMetadata
debug, equals, equalsOID, getFID, getFile, getFileFormat, getFullName, getLinkTargetObjName, getName, getOID, getPath, setLinkTargetObjName, setName, setPath, toString
public H4Datatype(int tclass, int tsize, int torder, int tsign)
The following is a list of a few examples of H4Datatype:
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 H4Datatype(int nativeID)
For example,
Datatype dtype = new H4Datatype(HDFConstants.DFNT_INT32);will construct a datatype equivalent to new H4Datatype(CLASS_INTEGER, 4, NATIVE, SIGN_NONE);
nativeID
- the native datatype identifier.fromNative(int nativeID)
public boolean hasAttribute()
DataFormat
public void fromNative(int tid)
Datatype
Sub-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 Datatype
tid
- the datatype identifier.public static final Object allocateArray(int datatype, int datasize) throws OutOfMemoryError
datatype
- the data typedatasize
- the size of the data arrayOutOfMemoryError
- if the array cannot be allocatedpublic String getDatatypeDescription()
Datatype
getDatatypeDescription
in class Datatype
public static final String getDatatypeDescription(int datatype)
datatype
- the data typepublic boolean isUnsigned()
Datatype
isUnsigned
in class Datatype
public static final boolean isUnsigned(int datatype)
datatype
- the data type.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);
public void close(int id)
Datatype
Sub-classes must replace this default implementation.
public List getMetadata(int... attrPropList) throws Exception
Exception
Copyright © 2017. All Rights Reserved.