    001/*****************************************************************************
    002 * Copyright by The HDF Group.                                               *
    003 * Copyright by the Board of Trustees of the University of Illinois.         *
    004 * All rights reserved.                                                      *
    005 *                                                                           *
    006 * This file is part of the HDF Java Products distribution.                  *
    007 * The full copyright notice, including terms governing use, modification,   *
    008 * and redistribution, is contained in the COPYING file, which can be found  *
    009 * at the root of the source code distribution tree,                         *
    010 * or in https://www.hdfgroup.org/licenses.                                  *
    011 * If you do not have access to either file, you may request a copy from     *
    012 * help@hdfgroup.org.                                                        *
    013 ****************************************************************************/
    014
    015package hdf.object.h5;
    016
    017import hdf.object.Attribute;
    018
    019import hdf.object.h5.H5File;
    020
    021/**
    022 * An interface that provides general attribute operations for hdf5 object data. For
    023 * example, reference to a parent object.
    024 *
    025 * @see hdf.object.HObject
    026 */
    027public interface H5Attribute extends Attribute {
    028
    029    /**
    030     * The general read and write attribute operations for hdf5 object data.
    031     *
    032     * @param attr_id
    033     *        the attribute to access
    034     * @param ioType
    035     *        the type of IO operation
    036     * @param objBuf
    037     *        the data buffer to use for write operation
    038     *
    039     * @return the attribute data
    040     *
    041     * @throws Exception
    042     *             if the data can not be retrieved
    043     */
    044    Object AttributeCommonIO(long attr_id, H5File.IO_TYPE ioType, Object objBuf) throws Exception;
    045
    046    /**
    047     * Read a subset of an attribute for hdf5 object data.
    048     *
    049     * @return the selected attribute data
    050     *
    051     * @throws Exception
    052     *             if the data can not be retrieved
    053     */
    054    Object AttributeSelection() throws Exception;
    055}