# Deprecated API

## Contents

- Deprecated Methods
- Deprecated Constructors

Deprecated Methods
Method and Description
ncsa.hdf.object.Dataset.convertFromUnsignedC(Object) Not for public use in the future. Using `Dataset.convertFromUnsignedC(Object, Object)`
ncsa.hdf.object.Dataset.convertToUnsignedC(Object) Not for public use in the future. Using `Dataset.convertToUnsignedC(Object, Object)`
ncsa.hdf.object.CompoundDS.copy(Group, String, long[], Object) Not implemented for compound dataset.
ncsa.hdf.object.FileFormat.copy(HObject, Group) As of 2.4, replaced by `FileFormat.copy(HObject, Group, String)` To mimic the behavior originally provided by this method, call the replacement method with `null` as the 3rd parameter.
ncsa.hdf.object.FileFormat.create(String) As of 2.4, replaced by `FileFormat.createFile(String, int)` The replacement method has an additional parameter that controls the behavior if the file already exists. Use `FileFormat.FILE_CREATE_DELETE` as the second argument in the replacement method to mimic the behavior originally provided by this method.
ncsa.hdf.object.h5.H5CompoundDS.create(String, Group, long[], String[], Datatype[], int[], long[][], Object) Not for public use in the future. Using `#create(String, Group, long[], long[], long[], int, String[], Datatype[], int[], int[][], Object)`
ncsa.hdf.object.h5.H5CompoundDS.create(String, Group, long[], String[], Datatype[], int[], Object) Not for public use in the future. Using `#create(String, Group, long[], long[], long[], int, String[], Datatype[], int[], int[][], Object)`

ncsa.hdf.object.FileFormat.createCompoundDS(String, Group, long[], String[], Datatype[], int[], Object)
As of 2.4, replaced by `FileFormat.createCompoundDS(String, Group, long[], long[], long[], int, String[], Datatype[], int[], Object)`

The replacement method has additional parameters: `maxdims, chunks,` and `gzip`. To mimic the behavior originally provided by this method, call the replacement method with the following parameter list: `( name, pgroup, dims, null, null, -1, memberNames, memberDatatypes, memberSizes, data );`

ncsa.hdf.object.FileFormat.getHObject(String)
As of 2.4, replaced by `FileFormat.get(String)`

This static method, which as been deprecated, causes two problems:

- It can be very expensive if it is called many times or in a loop because each call to the method creates an instance of a file.
- Since the method does not return the instance of the file, the file cannot be closed directly and may be left open (memory leak). The only way to close the file is through the object returned by this method.

ncsa.hdf.object.FileFormat.getHObject(String, String)
As of 2.4, replaced by `FileFormat.get(String)`

This static method, which as been deprecated, causes two problems:

- It can be very expensive if it is called many times or in a loop because each call to the method creates an instance of a file.
- Since the method does not return the instance of the file, the file cannot be closed directly and may be left open (memory leak). The only way to close the file is through the object returned by this method, for example:

       Dataset dset = H5File.getObject("hdf5_test.h5", "/images/iceburg");
       ...
       // close the file through dset
       dset.getFileFormat().close();

ncsa.hdf.hdf5lib.H5.H5Acreate(int, String, int, int, int) As of HDF5 1.8, replaced by `H5.H5Acreate( int, String, int, int, int, int)`
ncsa.hdf.hdf5lib.H5.H5Aget_num_attrs(int) As of HDF5 1.8, replaced by `H5.H5Oget_info( int )`
ncsa.hdf.hdf5lib.H5.H5Aopen_idx(int, int) As of HDF5 1.8, replaced by `H5.H5Aopen_by_idx(int, String, int, int, long, int, int)`
ncsa.hdf.hdf5lib.H5.H5Aopen_name(int, String) As of HDF5 1.8, replaced by `H5.H5Aopen_by_name(int, String, String, int, int)`
ncsa.hdf.hdf5lib.H5.H5Dcreate(int, String, int, int, int) As of HDF5 1.8, replaced by `H5.H5Dcreate(int, String, int, int, int, int, int)`
ncsa.hdf.hdf5lib.H5.H5Dextend(int, byte[]) As of HDF5 1.8, replaced by `H5.H5Dset_extent(int, long[])`
ncsa.hdf.hdf5lib.H5.H5Dextend(int, long[]) As of HDF5 1.8, replaced by `H5.H5Dset_extent(int, long[])`
ncsa.hdf.hdf5lib.H5.H5Dopen(int, String) As of HDF5 1.8, replaced by `H5.H5Dopen(int, String, int)`
ncsa.hdf.hdf5lib.H5.H5Eprint1(Object) As of HDF5 1.8, replaced by `H5.H5Eprint2(int, Object)`
ncsa.hdf.hdf5lib.H5.H5Gcreate(int, String, long) As of HDF5 1.8, replaced by `H5.H5Gcreate(int, String, int, int, int)`
ncsa.hdf.hdf5lib.H5.H5Gget_comment(int, String, int, String[]) As of HDF5 1.8, replaced by `H5.H5Oget_comment(int)`
ncsa.hdf.hdf5lib.H5.H5Gget_linkval(int, String, int, String[]) As of HDF5 1.8, replaced by `H5.H5Lget_val(int, String, String[] , int)`
ncsa.hdf.hdf5lib.H5.H5Gget_num_objs(int, long[]) As of HDF5 1.8, replaced by `H5.H5Gget_info(int)`
ncsa.hdf.hdf5lib.H5.H5Gget_objinfo(int, String, boolean, HDF5GroupInfo) As of HDF5 1.8
ncsa.hdf.hdf5lib.H5.H5Gget_objinfo(int, String, boolean, long[], long[], int[], long[]) As of HDF5 1.8, replaced by `and #H5Oget_info(int)`
ncsa.hdf.hdf5lib.H5.H5Gget_objname_by_idx(int, long, String[], long) As of HDF5 1.8, replaced by `H5.H5Lget_name_by_idx(int, String, int, int, long, int)`
ncsa.hdf.hdf5lib.H5.H5Gget_objtype_by_idx(int, long) As of HDF5 1.8, replaced by `H5.H5Oget_info(int)`
ncsa.hdf.hdf5lib.H5.H5Glink(int, int, String, String) As of HDF5 1.8, replaced by `and #H5Lcreate_soft(String, int, String, int, int)`
ncsa.hdf.hdf5lib.H5.H5Glink2(int, String, int, int, String) As of HDF5 1.8
ncsa.hdf.hdf5lib.H5.H5Gmove(int, String, String) As of HDF5 1.8, replaced by `H5.H5Lmove(int, String, int,String, int, int)`
ncsa.hdf.hdf5lib.H5.H5Gopen(int, String) As of HDF5 1.8, replaced by `H5.H5Gopen(int, String, int)`
ncsa.hdf.hdf5lib.H5.H5Gset_comment(int, String, String) As of HDF5 1.8, replaced by `H5.H5Oset_comment(int, String)`
ncsa.hdf.hdf5lib.H5.H5Gunlink(int, String) As of HDF5 1.8, replaced by `H5.H5Ldelete(int, String, int)`
ncsa.hdf.hdf5lib.H5.H5Pget_cache(int, int[], int[], int[], double[]) As of HDF5 1.8, replaced by `H5.H5Pget_cache(int, int[], long[], long[], double[])` because of possible loss of precision
ncsa.hdf.hdf5lib.H5.H5Pget_filter_by_id(int, int, int[], long[], int[], long, String[]) As of HDF5 1.8, replaced by `#H5Pget_filter_by_id(int, int, int[], int[], int[], int, String[], int[])`
ncsa.hdf.hdf5lib.H5.H5Pget_filter(int, int, int[], int[], int[], int, String[]) As of HDF5 1.8, replaced by `#H5Pget_filter(int, int, int[], int[], int[], int, String[], int[])`
ncsa.hdf.hdf5lib.H5.H5Pget_preserve(int) As of HDF5 1.8, compound datatype field preservation is now core functionality in the HDF5 Library.
ncsa.hdf.hdf5lib.H5.H5Pset_fapl_log(int, String, int, int) As of HDF5 1.8.7, replaced by `#H5Pset_fapl_log(int, String, long, int)`
ncsa.hdf.hdf5lib.H5.H5Pset_preserve(int, boolean) As of HDF5 1.8, compound datatype field preservation is now core functionality in the HDF5 Library.
ncsa.hdf.hdf5lib.H5.H5Rget_obj_type(int, int, byte[]) As of HDF5 1.8, replaced by `H5.H5Rget_obj_type(int, int, byte[], int[])`
ncsa.hdf.hdf5lib.H5.H5Screate_simple(int, byte[], byte[]) use H5Screate_simple(int rank, long[] dims, long[] maxdims)
ncsa.hdf.hdf5lib.H5.H5Tarray_create(int, int, int[], int[]) As of HDF5 1.8, replaced by `H5.H5Tarray_create(int, int, long[])`
ncsa.hdf.hdf5lib.H5.H5Tcommit(int, String, int) As of HDF5 1.8, replaced by `H5.H5Tcommit(int, String, int, int, int, int)`
ncsa.hdf.hdf5lib.H5.H5Tget_array_dims(int, int[], int[]) As of HDF5 1.8
ncsa.hdf.hdf5lib.H5.H5Tget_array_dims(int, long[], int[]) As of HDF5 1.8, replaced by `H5.H5Tget_array_dims(int, long[])`
ncsa.hdf.hdf5lib.H5.H5Topen(int, String) As of HDF5 1.8, replaced by `H5.H5Topen(int, String, int)`
ncsa.hdf.object.FileFormat.open(String, int) As of 2.4, replaced by `FileFormat.createInstance(String, int)` The replacement method has identical functionality and a more descriptive name. Since open is used elsewhere to perform a different function this method has been deprecated.
ncsa.hdf.object.Dataset.setData(Object) Not for public use in the future. setData() is not safe to use because it changes memory buffer of the dataset object. Dataset operation such as write/read will fail if the buffer type or size is changed.
ncsa.hdf.object.h5.H5Datatype.toNative(int) Not for public use in the future. Using `H5.H5Tget_native_type(int)` Return the HDF5 memory datatype identifier based on the HDF5 datatype identifier on disk

Deprecated Constructors
Constructor and Description
ncsa.hdf.object.CompoundDS(FileFormat, String, String, long[]) Not for public use in the future. Using `CompoundDS.CompoundDS(FileFormat, String, String)`
ncsa.hdf.object.Dataset(FileFormat, String, String, long[]) Not for public use in the future. Using `Dataset.Dataset(FileFormat, String, String)`
ncsa.hdf.object.Datatype(FileFormat, String, String, long[]) Not for public use in the future. Using `Datatype.Datatype(FileFormat, String, String)`
ncsa.hdf.object.Group(FileFormat, String, String, Group, long[]) Not for public use in the future. Using `Group.Group(FileFormat, String, String, Group)`
ncsa.hdf.object.h5.H5CompoundDS(FileFormat, String, String, long[]) Not for public use in the future. Using `H5CompoundDS.H5CompoundDS(FileFormat, String, String)`
ncsa.hdf.object.h5.H5Datatype(FileFormat, String, String, long[]) Not for public use in the future. Using `H5Datatype.H5Datatype(FileFormat, String, String)`
ncsa.hdf.object.h5.H5Group(FileFormat, String, String, Group, long[]) Not for public use in the future. Using `H5Group.H5Group(FileFormat, String, String, Group)`
ncsa.hdf.object.h5.H5ScalarDS(FileFormat, String, String, long[]) Not for public use in the future. Using `H5ScalarDS(FileFormat, String, String)`
ncsa.hdf.object.HObject(FileFormat, String, String, long[]) Not for public use in the future. Using `HObject.HObject(FileFormat, String, String)`
ncsa.hdf.object.ScalarDS(FileFormat, String, String, long[]) Not for public use in the future. Using `ScalarDS.ScalarDS(FileFormat, String, String)`