Module org.hdfgroup.object
Package hdf.object.fits

# Class FitsGroup

Object
hdf.object.HObject
hdf.object.Group
hdf.object.fits.FitsGroup

All Implemented Interfaces:
  `MetaDataContainer`, `Serializable`

public class FitsGroup extends Group
An H5Group represents HDF5 group, inheriting from Group. Every HDF5 object has at least one name. An HDF5 group is used to store a set of the names together in one place, i.e. a group. The general structure of a group is similar to that of the UNIX file system in that the group may contain references to other groups or 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

  ### Fields inherited from class hdf.object.Group

  `CRT_ORDER_INDEXED, CRT_ORDER_TRACKED, LINK_TYPE_EXTERNAL, LINK_TYPE_HARD, LINK_TYPE_SOFT, nMembersInFile, parent`

  ### Fields inherited from class hdf.object.HObject

  `fileFormat, linkTargetObjName, oid, SEPARATOR`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FitsGroup(FileFormat fileFormat, String name, String path, Group parent, long[] theID)`
  Constructs an HDF5 group with specific name, path, and parent.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close(long gid)`
  close group access
  `static FitsGroup`
  `create(String name, Group pgroup)`
  Creates a new group.
  `List`
  `getMetadata()`
  Retrieves the object's metadata, such as attributes, from the file.
  `List`
  `getMetadata(int... attrPropList)`
  Retrieves the object's metadata, such as attributes, from the file.
  `boolean`
  `hasAttribute()`
  Check if the object has any attributes attached.
  `long`
  `open()`
  Opens an existing object such as a dataset or group for access.
  `void`
  `removeMetadata(Object info)`
  Deletes an existing piece of metadata from this object.
  `void`
  `updateMetadata(Object info)`
  Updates an existing piece of metadata attached to this object.
  `void`
  `writeMetadata(Object info)`
  Writes a specific piece of metadata (such as an attribute) into the file.

  ### Methods inherited from class hdf.object.Group

  `addToMemberList, breadthFirstMemberList, clear, depthFirstMemberList, getMember, getMemberList, getNumberOfMembersInFile, getParent, isRoot, removeFromMemberList, setName`

  ### Methods inherited from class hdf.object.HObject

  `createFullname, debug, equals, equals, equalsOID, getFID, getFile, getFileFormat, getFullName, getLinkTargetObjName, getName, getOID, getPath, hashCode, setFullname, setLinkTargetObjName, setPath, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### FitsGroup

    public FitsGroup(FileFormat fileFormat, String name, String path, Group parent, long[] theID)
    Constructs an HDF5 group with specific name, path, and parent.
    Parameters:
      `fileFormat` - the file which containing the group.
      `name` - the name of this group.
      `path` - the full path of this group.
      `parent` - the parent of this group.
      `theID` - the unique identifier of this data object.

- ## Method Details

  - ### hasAttribute

    public boolean hasAttribute()
    Description copied from interface: `MetaDataContainer`
    Check if the object has any attributes attached.
    Returns:
      true if it has any attributes, false otherwise.

  - ### getMetadata

    public List getMetadata() throws Exception
    Retrieves the object's metadata, such as attributes, from the file. Metadata, such as attributes, is stored in a List.
    Returns:
      the list of metadata objects.
    Throws:
      `Exception` - if the metadata can not be retrieved

  - ### writeMetadata

    public void writeMetadata(Object info) throws Exception
    Writes a specific piece of metadata (such as an attribute) into the file. If an HDF(4&5) attribute exists in the file, this method updates its value. If the attribute does not exist in the file, it creates the attribute in the 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 the file, one needs to get the instance of the attribute by getMetadata(), change its values, then use writeMetadata() to write the value.
    Parameters:
      `info` - the metadata to write.
    Throws:
      `Exception` - if the metadata can not be written

  - ### removeMetadata

    public void removeMetadata(Object info) throws Exception
    Deletes an existing piece of metadata from this object.
    Parameters:
      `info` - the metadata to delete.
    Throws:
      `Exception` - if the metadata can not be removed

  - ### updateMetadata

    public void updateMetadata(Object info) throws Exception
    Updates an existing piece of metadata attached to this object.
    Parameters:
      `info` - the metadata to update.
    Throws:
      `Exception` - if the metadata can not be updated

  - ### open

    public long open()
    Description copied from class: `HObject`
    Opens an existing object such as a 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(long src_id, long dst_id) and other purposes. The open() function should be used in pair with close(long) function.
    Specified by:
      `open` in class `HObject`
    Returns:
      the object identifier if successful; otherwise returns a negative value.
    See Also:
      - `HObject.close(long)`

  - ### close

    public void close(long gid)
    close group access
    Specified by:
      `close` in class `HObject`
    Parameters:
      `gid` - the group identifier

  - ### create

    public static FitsGroup create(String name, Group pgroup) throws 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:
      `Exception` - if there is an error

  - ### getMetadata

    public List getMetadata(int... attrPropList) throws Exception
    Retrieves the object's metadata, such as attributes, from the file. Metadata, such as attributes, is stored in a List.
    Parameters:
      `attrPropList` - the list of properties to get
    Returns:
      the list of metadata objects.
    Throws:
      `Exception` - if the metadata can not be retrieved