ncsa.hdf.object.h4
Class H4Group

java.lang.Object
  extended by ncsa.hdf.object.HObject
      extended by ncsa.hdf.object.Group
          extended by ncsa.hdf.object.h4.H4Group
All Implemented Interfaces:
java.io.Serializable, DataFormat

public class H4Group
extends Group

An H4Group is a vgroup in HDF4, inheriting from Group. A vgroup is a structure designed to associate related data objects. The general structure of a vgroup is similar to that of the UNIX file system in that the vgroup may contain references to other vgroups or HDF data objects just as the UNIX directory may contain subdirectories or files.

Version:
1.1 9/4/2007
Author:
Peter X. Cao
See Also:
Serialized Form

Field Summary
static long serialVersionUID
           
 
Fields inherited from class ncsa.hdf.object.Group
CRT_ORDER_INDEXED, CRT_ORDER_TRACKED, LINK_TYPE_EXTERNAL, LINK_TYPE_HARD, LINK_TYPE_SOFT
 
Fields inherited from class ncsa.hdf.object.HObject
separator
 
Constructor Summary
H4Group(FileFormat theFile, java.lang.String name, java.lang.String path, Group parent)
           
H4Group(FileFormat theFile, java.lang.String name, java.lang.String path, Group parent, long[] oid)
          Creates a group object with specific name, path, and parent.
 
Method Summary
 void close(int vgid)
          close group access.
static H4Group create(java.lang.String name, Group pgroup)
          Creates a new group.
 java.util.List getMetadata()
          Retrieves the metadata such as attributes from file.
 java.util.List getMetadata(int... attrPropList)
           
 boolean hasAttribute()
          Check if the object has any attributes attached.
 int open()
          Opens an existing object such as dataset or group for access.
 void removeMetadata(java.lang.Object info)
          Deletes an existing metadata from this data object.
 void writeMetadata(java.lang.Object info)
          Writes a specific metadata (such as attribute) into file.
 
Methods inherited from class ncsa.hdf.object.Group
addToMemberList, clear, getMemberList, getNumberOfMembersInFile, getParent, isRoot, removeFromMemberList, setName
 
Methods inherited from class ncsa.hdf.object.HObject
equalsOID, getFID, getFile, getFileFormat, getFullName, getLinkTargetObjName, getName, getOID, getPath, setLinkTargetObjName, setPath, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

H4Group

public H4Group(FileFormat theFile,
               java.lang.String name,
               java.lang.String path,
               Group parent)

H4Group

public H4Group(FileFormat theFile,
               java.lang.String name,
               java.lang.String path,
               Group parent,
               long[] oid)
Creates a group object with specific name, path, and parent.

Parameters:
theFile - the HDF file.
name - the name of this group.
path - the full path of this group.
parent - the parent of this group.
oid - the unique identifier of this data object.
Method Detail

hasAttribute

public boolean hasAttribute()
Description copied from interface: DataFormat
Check if the object has any attributes attached.

Returns:
true if it has any attribute(s), false otherwise.

getMetadata

public java.util.List getMetadata()
                           throws HDFException
Description copied from interface: DataFormat
Retrieves the metadata such as attributes from file.

Metadata such as attributes are stored in a List.

Returns:
the list of metadata objects.
Throws:
HDFException

writeMetadata

public void writeMetadata(java.lang.Object info)
                   throws java.lang.Exception
Description copied from interface: DataFormat
Writes a specific metadata (such as attribute) into file.

If an HDF(4&5) attribute exists in file, the method updates its value. If the attribute does not exists in file, it creates the attribute in file and attaches it to the object. It will fail to write a new attribute to the object where an attribute with the same name already exists. To update the value of an existing attribute in file, one needs to get the instance of the attribute by getMetadata(), change its values, and use writeMetadata() to write the value.

Parameters:
info - the metadata to write.
Throws:
java.lang.Exception

removeMetadata

public void removeMetadata(java.lang.Object info)
                    throws HDFException
Description copied from interface: DataFormat
Deletes an existing metadata from this data object.

Parameters:
info - the metadata to delete.
Throws:
HDFException

open

public int open()
Description copied from class: HObject
Opens an existing object such as dataset or group for access. The return value is an object identifier obtained by implementing classes such as H5.H5Dopen(). This function is needed to allow other objects to be able to access the object. For instance, H5File class uses the open() function to obtain object identifier for copyAttributes(int src_id, int dst_id) and other purposes. The open() function should be used in pair with close(int) function.

Specified by:
open in class HObject
Returns:
the object identifier if successful; otherwise returns a negative value.
See Also:
HObject.close(int)

close

public void close(int vgid)
close group access.

Specified by:
close in class HObject
Parameters:
vgid - The object identifier.

create

public static H4Group create(java.lang.String name,
                             Group pgroup)
                      throws java.lang.Exception
Creates a new group.

Parameters:
name - the name of the group to create.
pgroup - the parent group of the new group.
Returns:
the new group if successful. Otherwise returns null.
Throws:
java.lang.Exception

getMetadata

public java.util.List getMetadata(int... attrPropList)
                           throws java.lang.Exception
Throws:
java.lang.Exception