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 files COPYING and Copyright.html. * 009 * COPYING can be found at the root of the source code distribution tree. * 010 * Or, see https://support.hdfgroup.org/products/licenses.html * 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}