/****************************************************************************
* NCSA HDF *
* National Comptational Science Alliance *
* University of Illinois at Urbana-Champaign *
* 605 E. Springfield, Champaign IL 61820 *
* *
* For conditions of distribution and use, see the accompanying *
* hdf/COPYING file. *
* *
****************************************************************************/
package ncsa.hdf.hdf5lib;
/**
* <p>
* This class is a container for the information reported about an HDF5
* Object from the H5Gget_obj_info() method.
* <p>
* The fileno and objno fields contain four values which uniquely identify
* an object among those HDF5 files which are open: if all four values are
* the same between two objects, then the two objects are the same (provided
* both files are still open). The nlink field is the number of hard links
* to the object or zero when information is being returned about a symbolic
* link (symbolic links do not have hard links but all other objects always
* have at least one). The type field contains the type of the object, one
* of H5G_GROUP, H5G_DATASET, or H5G_LINK. The mtime field contains the
* modification time. If information is being returned about a symbolic link
* then linklen will be the length of the link value (the name of the pointed-to
* object with the null terminator); otherwise linklen will be zero. Other
* fields may be added to this structure in the future.
* <p>
* For details of the HDF5 libraries, see the HDF5 Documentation at:
* <a href="http://hdf.ncsa.uiuc.edu/HDF5/doc/">http://hdf.ncsa.uiuc.edu/HDF5/doc/</a>
*/
public class HDF5GroupInfo
{
long[] fileno;
long[] objno;
int nlink;
int type;
long mtime;
int linklen;
public HDF5GroupInfo()
{
fileno = new long[2];
objno = new long[2];
nlink = 0;
type = -1;
mtime = 0;
linklen = 0;
}
/**
* Sets the HDF5 group information. Used by the
* JHI5.
*
* @param fn File id number
* @param on Object id number
* @param nl Number of links
* @param t Type of the object
* @param mt Modification time
* @param len Length of link
**/
public void setGroupInfo(long[] fn, long[] on, int nl, int t, long mt, int len)
{
fileno = fn;
objno = on;
nlink = nl;
type = t;
mtime = mt;
linklen = len;
}
/* accessors */
public long[] getFileno() { return fileno; }
public long[] getObjno() { return objno; }
public int getType() { return type; }
public int getNlink() { return nlink; }
public long getMtime() { return mtime; }
public int getLinklen() { return linklen; }
/**
* Converts this object to a String representation.
* @return a string representation of this object
*/
public String toString()
{
String fileStr="fileno=null";
String objStr="objno=null";
if (fileno != null)
fileStr = "fileno[0]="+fileno[0]+",fileno[1]="+fileno[1];
if (objno != null)
objStr = "objno[0]="+objno[0]+",objno[1]="+objno[1];
return getClass().getName() + "[" + fileStr +"," +objStr+
",type="+type+",nlink="+nlink+",mtime="+mtime+",linklen="+
linklen+"]";
}
}