ncsa.hdf.object
Class Group

java.lang.Object
  extended by ncsa.hdf.object.HObject
      extended by ncsa.hdf.object.Group
All Implemented Interfaces:
java.io.Serializable, DataFormat
Direct Known Subclasses:
FitsGroup, H4Group, H5Group, NC2Group

public abstract class Group
extends HObject

Group is an abstract class. Current implementing classes are the H4Group and H5Group. This class includes general information of a group object such as members of a group and common operations on groups.

Members of a group may include other groups, datasets or links.

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

Field Summary
static int CRT_ORDER_INDEXED
           
static int CRT_ORDER_TRACKED
           
static int LINK_TYPE_EXTERNAL
           
static int LINK_TYPE_HARD
           
static int LINK_TYPE_SOFT
           
 
Fields inherited from class ncsa.hdf.object.HObject
separator
 
Constructor Summary
Group(FileFormat theFile, java.lang.String name, java.lang.String path, Group parent)
          Constructs an instance of the group with specific name, path and parent group.
Group(FileFormat theFile, java.lang.String name, java.lang.String path, Group parent, long[] oid)
          Deprecated. Not for public use in the future.
Using Group(FileFormat, String, String, Group)
 
Method Summary
 void addToMemberList(HObject object)
          Adds an object to the member list of this group in memory.
 void clear()
          Clears up member list and other resources in memory for the group.
 java.util.List<HObject> getMemberList()
          Returns the list of members of this group.
 int getNumberOfMembersInFile()
          Returns the total number of members of this group in file.
 Group getParent()
          Returns the parent group.
 boolean isRoot()
          Checks if it is a root group.
 void removeFromMemberList(HObject object)
          Removes an object from the member list of this group in memory.
 void setName(java.lang.String newName)
          Sets the name of the group.
 
Methods inherited from class ncsa.hdf.object.HObject
close, equalsOID, getFID, getFile, getFileFormat, getFullName, getLinkTargetObjName, getName, getOID, getPath, open, setLinkTargetObjName, setPath, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ncsa.hdf.object.DataFormat
getMetadata, hasAttribute, removeMetadata, writeMetadata
 

Field Detail

LINK_TYPE_HARD

public static final int LINK_TYPE_HARD
See Also:
Constant Field Values

LINK_TYPE_SOFT

public static final int LINK_TYPE_SOFT
See Also:
Constant Field Values

LINK_TYPE_EXTERNAL

public static final int LINK_TYPE_EXTERNAL
See Also:
Constant Field Values

CRT_ORDER_TRACKED

public static final int CRT_ORDER_TRACKED
See Also:
Constant Field Values

CRT_ORDER_INDEXED

public static final int CRT_ORDER_INDEXED
See Also:
Constant Field Values
Constructor Detail

Group

public Group(FileFormat theFile,
             java.lang.String name,
             java.lang.String path,
             Group parent)
Constructs an instance of the group with specific name, path and parent group. An HDF data object must have a name. The path is the group path starting from the root. The parent group is the group where this group is located.

For example, in H5Group(h5file, "grp", "/groups/", pgroup), "grp" is the name of the group, "/groups/" is the group path of the group, and pgroup the group where "grp" is located.

Parameters:
theFile - the file which containing the group.
name - the name of this group, e.g. "grp01".
path - the full path of this group, e.g. "/groups/".
parent - the parent of this group.

Group

@Deprecated
public Group(FileFormat theFile,
                        java.lang.String name,
                        java.lang.String path,
                        Group parent,
                        long[] oid)
Deprecated. Not for public use in the future.
Using Group(FileFormat, String, String, Group)

Method Detail

clear

public void clear()
Clears up member list and other resources in memory for the group. Since the destructor will clear memory space, the function is usually not needed.


addToMemberList

public void addToMemberList(HObject object)
Adds an object to the member list of this group in memory.

Parameters:
object - the HObject (Group or Dataset) to be added to the member list.

removeFromMemberList

public void removeFromMemberList(HObject object)
Removes an object from the member list of this group in memory.

Parameters:
object - the HObject (Group or Dataset) to be removed from the member list.

getMemberList

public java.util.List<HObject> getMemberList()
Returns the list of members of this group. The list is an java.awt.List containing Groups and Datasets.

Returns:
the list of members of this group.

setName

public void setName(java.lang.String newName)
             throws java.lang.Exception
Sets the name of the group.

setName (String newName) changes the name of the group in memory and file.

setName() updates the path in memory for all the objects that are under the group with the new name.

Overrides:
setName in class HObject
Parameters:
newName - The new name of the group.
Throws:
java.lang.Exception

getParent

public final Group getParent()
Returns the parent group.


isRoot

public final boolean isRoot()
Checks if it is a root group.

Returns:
true if the group is a root group; otherwise, returns false.

getNumberOfMembersInFile

public int getNumberOfMembersInFile()
Returns the total number of members of this group in file. Current Java application such as HDFView cannot handle files with large numbers of objects (1,000,000 or more objects) due to JVM memory limitation. The max_members is used so that applications such as HDFView will load up to max_members number of objects. If the number of objects in file is larger than max_members, only max_members are loaded in memory.

getNumberOfMembersInFile() returns the number of objects in this group. The number of objects in memory is obtained by getMemberList().size().

Returns:
Total number of members of this group in the file.