From d46fa9950c76b3e66619882126cf16c4409eaaab Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Wed, 24 Mar 2021 17:02:46 -0500 Subject: develop - Javadoc warning fixes (#506) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note * Disable long double tests for now * HDFFV-11228 remove arbitrary CMake warning groups. * Make each flag a string * Some Javadoc warning fixes * Updated javadoc fixes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com> --- .../hdf5lib/exceptions/HDF5LibraryException.java | 2 + .../hdf/hdf5lib/structs/H5AC_cache_config_t.java | 243 ++++++++++++++++++++- java/src/hdf/hdf5lib/structs/H5E_error2_t.java | 22 +- java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java | 18 +- java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java | 5 + java/src/hdf/hdf5lib/structs/H5F_info2_t.java | 39 +++- java/src/hdf/hdf5lib/structs/H5G_info_t.java | 12 +- java/src/hdf/hdf5lib/structs/H5L_info_t.java | 10 +- java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java | 30 ++- java/src/hdf/hdf5lib/structs/H5O_info_t.java | 39 +++- .../src/hdf/hdf5lib/structs/H5O_native_info_t.java | 10 +- java/src/hdf/hdf5lib/structs/H5O_token_t.java | 10 + 12 files changed, 386 insertions(+), 54 deletions(-) diff --git a/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java b/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java index e3e774c..532355e 100644 --- a/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java +++ b/java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java @@ -30,7 +30,9 @@ import hdf.hdf5lib.HDF5Constants; @SuppressWarnings("serial") public class HDF5LibraryException extends HDF5Exception { + /** major error number of the first error on the HDF5 library error stack. */ private final long majorErrorNumber; + /** minor error number of the first error on the HDF5 library error stack. */ private final long minorErrorNumber; /** diff --git a/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java b/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java index 9f04211..cf84532 100644 --- a/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java +++ b/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java @@ -20,41 +20,270 @@ import java.io.Serializable; */ public class H5AC_cache_config_t implements Serializable{ private static final long serialVersionUID = -6748085696476149972L; - // general configuration fields: + // general configuration fields + /** + * version: Integer field containing the version number of this version + * of the H5AC_cache_config_t structure. Any instance of + * H5AC_cache_config_t passed to the cache must have a known + * version number, or an error will be flagged. + */ public int version; + /** + * rpt_fcn_enabled: Boolean field used to enable and disable the default + * reporting function. This function is invoked every time the + * automatic cache resize code is run, and reports on its activities. + * + * This is a debugging function, and should normally be turned off. + */ public boolean rpt_fcn_enabled; + /** + * open_trace_file: Boolean field indicating whether the trace_file_name + * field should be used to open a trace file for the cache. + * + * *** DEPRECATED *** Use H5Fstart/stop logging functions instead + */ public boolean open_trace_file; + /** + * close_trace_file: Boolean field indicating whether the current trace + * file (if any) should be closed. + * + * *** DEPRECATED *** Use H5Fstart/stop logging functions instead + */ public boolean close_trace_file; + /** + * trace_file_name: Full path of the trace file to be opened if the + * open_trace_file field is TRUE. + * + * *** DEPRECATED *** Use H5Fstart/stop logging functions instead + */ public String trace_file_name; + /** + * evictions_enabled: Boolean field used to either report the current + * evictions enabled status of the cache, or to set the cache's + * evictions enabled status. + */ public boolean evictions_enabled; + /** + * set_initial_size: Boolean flag indicating whether the size of the + * initial size of the cache is to be set to the value given in + * the initial_size field. If set_initial_size is FALSE, the + * initial_size field is ignored. + */ public boolean set_initial_size; + /** + * initial_size: If enabled, this field contain the size the cache is + * to be set to upon receipt of this structure. Needless to say, + * initial_size must lie in the closed interval [min_size, max_size]. + */ public long initial_size; + /** + * min_clean_fraction: double in the range 0 to 1 indicating the fraction + * of the cache that is to be kept clean. This field is only used + * in parallel mode. Typical values are 0.1 to 0.5. + */ public double min_clean_fraction; + /** + * max_size: Maximum size to which the cache can be adjusted. The + * supplied value must fall in the closed interval + * [MIN_MAX_CACHE_SIZE, MAX_MAX_CACHE_SIZE]. Also, max_size must + * be greater than or equal to min_size. + */ public long max_size; + /** + * min_size: Minimum size to which the cache can be adjusted. The + * supplied value must fall in the closed interval + * [H5C__MIN_MAX_CACHE_SIZE, H5C__MAX_MAX_CACHE_SIZE]. Also, min_size + * must be less than or equal to max_size. + */ public long min_size; + /** + * epoch_length: Number of accesses on the cache over which to collect + * hit rate stats before running the automatic cache resize code, + * if it is enabled. + */ public long epoch_length; - // size increase control fields: - public int incr_mode; // H5C_cache_incr_mode + // size increase control fields + /** + * incr_mode: Instance of the H5C_cache_incr_mode enumerated type whose + * value indicates how we determine whether the cache size should be + * increased. At present there are two possible values. + */ + public int incr_mode; + /** + * lower_hr_threshold: Lower hit rate threshold. If the increment mode + * (incr_mode) is H5C_incr__threshold and the hit rate drops below the + * value supplied in this field in an epoch, increment the cache size by + * size_increment. Note that cache size may not be incremented above + * max_size, and that the increment may be further restricted by the + * max_increment field if it is enabled. + */ public double lower_hr_threshold; + /** + * increment: Double containing the multiplier used to derive the new + * cache size from the old if a cache size increment is triggered. + * The increment must be greater than 1.0, and should not exceed 2.0. + */ public double increment; + /** + * apply_max_increment: Boolean flag indicating whether the max_increment + * field should be used to limit the maximum cache size increment. + */ public boolean apply_max_increment; + /** + * max_increment: If enabled by the apply_max_increment field described + * above, this field contains the maximum number of bytes by which the + * cache size can be increased in a single re-size. + */ public long max_increment; - public int flash_incr_mode; // H5C_cache_flash_incr_mode + /** + * flash_incr_mode: Instance of the H5C_cache_flash_incr_mode enumerated + * type whose value indicates whether and by which algorithm we should + * make flash increases in the size of the cache to accommodate insertion + * of large entries and large increases in the size of a single entry. + */ + public int flash_incr_mode; + /** + * flash_multiple: Double containing the multiple described above in the + * H5C_flash_incr__add_space section of the discussion of the + * flash_incr_mode section. This field is ignored unless flash_incr_mode + * is H5C_flash_incr__add_space. + */ public double flash_multiple; + /** + * flash_threshold: Double containing the factor by which current max cache + * size is multiplied to obtain the size threshold for the add_space flash + * increment algorithm. The field is ignored unless flash_incr_mode is + * H5C_flash_incr__add_space. + */ public double flash_threshold; - // size decrease control fields: - public int decr_mode; // H5C_cache_decr_mode + // size decrease control fields + /** + * decr_mode: Instance of the H5C_cache_decr_mode enumerated type whose + * value indicates how we determine whether the cache size should be + * decreased. At present there are four possibilities. + */ + public int decr_mode; + /** + * upper_hr_threshold: Upper hit rate threshold. The use of this field + * varies according to the current decr_mode. + */ public double upper_hr_threshold; + /** + * decrement: This field is only used when the decr_mode is + * H5C_decr__threshold. + */ public double decrement; + /** + * apply_max_decrement: Boolean flag used to determine whether decrements + * in cache size are to be limited by the max_decrement field. + */ public boolean apply_max_decrement; + /** + * max_decrement: Maximum number of bytes by which the cache size can be + * decreased in a single re-size. Note that decrements may also be + * restricted by the min_size of the cache, and (in age out modes) by + * the empty_reserve field. + */ public long max_decrement; + /** + * epochs_before_eviction: Integer field used in H5C_decr__age_out and + * H5C_decr__age_out_with_threshold decrement modes. + */ public int epochs_before_eviction; + /** + * apply_empty_reserve: Boolean field controlling whether the empty_reserve + * field is to be used in computing the new cache size when the + * decr_mode is H5C_decr__age_out or H5C_decr__age_out_with_threshold. + */ public boolean apply_empty_reserve; + /** + * empty_reserve: To avoid a constant racheting down of cache size by small + * amounts in the H5C_decr__age_out and H5C_decr__age_out_with_threshold + * modes, this field allows one to require that any cache size + * reductions leave the specified fraction of unused space in the cache. + */ public double empty_reserve; - // parallel configuration fields: + // parallel configuration fields + /** + * dirty_bytes_threshold: Threshold of dirty byte creation used to + * synchronize updates between caches. + */ public long dirty_bytes_threshold; + /** + * metadata_write_strategy: Integer field containing a code indicating the + * desired metadata write strategy. + */ public int metadata_write_strategy; + /** H5AC_cache_config_t is a public structure intended for use in public APIs. + * At least in its initial incarnation, it is basically a copy of struct + * H5C_auto_size_ctl_t, minus the report_fcn field, and plus the + * dirty_bytes_threshold field. + * + * @param version: Integer field containing the version number of this version + * @param rpt_fcn_enabled: Boolean field used to enable and disable the default reporting function. + * @param open_trace_file: Boolean field indicating whether the trace_file_name + * field should be used to open a trace file for the cache. + * @param close_trace_file: Boolean field indicating whether the current trace + * file (if any) should be closed. + * @param trace_file_name: Full path of the trace file to be opened if the + * open_trace_file field is TRUE. + * @param evictions_enabled: Boolean field used to either report or set the current + * evictions enabled status of the cache. + * @param set_initial_size: Boolean flag indicating whether the size of the + * initial size of the cache is to be set to the value given in + * the initial_size field. + * @param initial_size: If enabled, this field contain the size the cache is + * to be set to upon receipt of this structure. + * @param min_clean_fraction: double in the range 0 to 1 indicating the fraction + * of the cache that is to be kept clean. + * @param max_size: Maximum size to which the cache can be adjusted. + * @param min_size: Minimum size to which the cache can be adjusted. + * @param epoch_length: Number of accesses on the cache over which to collect + * hit rate stats before running the automatic cache resize code. + * @param incr_mode: Instance of the H5C_cache_incr_mode enumerated type. + * @param lower_hr_threshold: Lower hit rate threshold. + * @param increment: Double containing the multiplier used to derive the new + * cache size from the old if a cache size increment is triggered. + * @param apply_max_increment: Boolean flag indicating whether the max_increment + * field should be used to limit the maximum cache size increment. + * @param max_increment: If enabled by the apply_max_increment field described + * above, this field contains the maximum number of bytes by which the + * cache size can be increased in a single re-size. + * @param flash_incr_mode: Instance of the H5C_cache_flash_incr_mode enumerated + * type whose value indicates whether and by which algorithm we should + * make flash increases in the size of the cache to accommodate insertion + * of large entries and large increases in the size of a single entry. + * @param flash_multiple: Double containing the multiple described above in the + * H5C_flash_incr__add_space section of the discussion of the + * flash_incr_mode section. + * @param flash_threshold: Double containing the factor by which current max cache + * size is multiplied to obtain the size threshold for the add_space flash + * increment algorithm. + * @param decr_mode: Instance of the H5C_cache_decr_mode enumerated type whose + * value indicates how we determine whether the cache size should be + * decreased. + * @param upper_hr_threshold: Upper hit rate threshold. The use of this field + * varies according to the current decr_mode. + * @param decrement: This field is only used when the decr_mode is + * H5C_decr__threshold. + * @param apply_max_decrement: Boolean flag used to determine whether decrements + * in cache size are to be limited by the max_decrement field. + * @param max_decrement: Maximum number of bytes by which the cache size can be + * decreased in a single re-size. + * @param epochs_before_eviction: Integer field used in H5C_decr__age_out and + * H5C_decr__age_out_with_threshold decrement modes. + * @param apply_empty_reserve: Boolean field controlling whether the empty_reserve + * field is to be used in computing the new cache size when the + * decr_mode is H5C_decr__age_out or H5C_decr__age_out_with_threshold. + * @param empty_reserve: To avoid a constant racheting down of cache size by small + * amounts in the H5C_decr__age_out and H5C_decr__age_out_with_threshold + * modes. + * @param dirty_bytes_threshold: Threshold of dirty byte creation used to + * synchronize updates between caches. + * @param metadata_write_strategy: Integer field containing a code indicating the + * desired metadata write strategy. + */ public H5AC_cache_config_t (int version, boolean rpt_fcn_enabled, boolean open_trace_file, boolean close_trace_file, String trace_file_name, boolean evictions_enabled, boolean set_initial_size, long initial_size, double min_clean_fraction, long max_size, diff --git a/java/src/hdf/hdf5lib/structs/H5E_error2_t.java b/java/src/hdf/hdf5lib/structs/H5E_error2_t.java index e074156..5981fc7 100644 --- a/java/src/hdf/hdf5lib/structs/H5E_error2_t.java +++ b/java/src/hdf/hdf5lib/structs/H5E_error2_t.java @@ -20,14 +20,20 @@ import java.io.Serializable; */ public class H5E_error2_t implements Serializable{ private static final long serialVersionUID = 279144359041667613L; - - public long cls_id; //class ID - public long maj_num; //major error ID - public long min_num; //minor error number - public int line; //line in file where error occurs - public String func_name; //function in which error occurred - public String file_name; //file in which error occurred - public String desc; //optional supplied description + /** class ID */ + public long cls_id; + /** major error ID */ + public long maj_num; + /** minor error number */ + public long min_num; + /** line in file where error occurs */ + public int line; + /** function in which error occurred */ + public String func_name; + /** file in which error occurred */ + public String file_name; + /** optional supplied description */ + public String desc; H5E_error2_t(long cls_id, long maj_num, long min_num, int line, String func_name, String file_name, String desc) { this.cls_id = cls_id; diff --git a/java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java b/java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java index 26690ec..5da4abd 100644 --- a/java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java +++ b/java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java @@ -26,15 +26,31 @@ import java.io.Serializable; public class H5FD_hdfs_fapl_t implements Serializable { private static final long serialVersionUID = 2072473407027648309L; + /** Version number of the H5FD_hdfs_fapl_t structure. */ private int version; + /** Name of "Name Node" to access as the HDFS server. */ private String namenode_name; + /** Port number to use to connect with Name Node. */ private int namenode_port; + /** Username to use when accessing file. */ private String user_name; + /** Path to the location of the Kerberos authentication cache. */ private String kerberos_ticket_cache; + /** Size (in bytes) of the file read stream buffer. */ private int stream_buffer_size; - /* + /** * Create a fapl_t structure with the specified components. + * @param namenode_name + * Name of "Name Node" to access as the HDFS server. + * @param namenode_port + * Port number to use to connect with Name Node. + * @param user_name + * Username to use when accessing file. + * @param kerberos_ticket_cache + * Path to the location of the Kerberos authentication cache. + * @param stream_buffer_size + * Size (in bytes) of the file read stream buffer. */ public H5FD_hdfs_fapl_t( String namenode_name, diff --git a/java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java b/java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java index 735cc7e..39f5424 100644 --- a/java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java +++ b/java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java @@ -46,10 +46,15 @@ import java.io.Serializable; public class H5FD_ros3_fapl_t implements Serializable { private static final long serialVersionUID = 8985533001471224030L; + /** Version number of the H5FD_ros3_fapl_t structure */ private int version; + /** Flag TRUE or FALSE whether or not requests are to be authenticated with the AWS4 algorithm. */ private boolean authenticate; + /** region "aws region" for authenticating request */ private String aws_region; + /** id "secret id" or "access id" for authenticating request */ private String secret_id; + /** key "secret key" or "access key" for authenticating request */ private String secret_key; /** diff --git a/java/src/hdf/hdf5lib/structs/H5F_info2_t.java b/java/src/hdf/hdf5lib/structs/H5F_info2_t.java index bb87201..f951bb4 100644 --- a/java/src/hdf/hdf5lib/structs/H5F_info2_t.java +++ b/java/src/hdf/hdf5lib/structs/H5F_info2_t.java @@ -20,16 +20,37 @@ import java.io.Serializable; */ public class H5F_info2_t implements Serializable{ private static final long serialVersionUID = 4691681162544054518L; - public int super_version; // Superblock version # - public long super_size; // Superblock size - public long super_ext_size; // Superblock extension size - public int free_version; // Version # of file free space management - public long free_meta_size; // Free space manager metadata size - public long free_tot_space; // Amount of free space in the file - public int sohm_version; // Version # of shared object header info - public long sohm_hdr_size; // Shared object header message header size - public H5_ih_info_t sohm_msgs_info; // Shared object header message index & heap size + /** Superblock version number */ + public int super_version; + /** Superblock size */ + public long super_size; + /** Superblock extension size */ + public long super_ext_size; + /** Version number of file free space management */ + public int free_version; + /** Free space manager metadata size */ + public long free_meta_size; + /** Amount of free space in the file */ + public long free_tot_space; + /** Version number of shared object header info */ + public int sohm_version; + /** Shared object header message header size */ + public long sohm_hdr_size; + /** Shared object header message index and heap size */ + public H5_ih_info_t sohm_msgs_info; + /** + * Constructor fot current "global" information about file + * @param super_version: Superblock version number + * @param super_size: Superblock size + * @param super_ext_size: Superblock extension size + * @param free_version: Version number of file free space management + * @param free_meta_size: Free space manager metadata size + * @param free_tot_space: Amount of free space in the file + * @param sohm_version: Version number of shared object header info + * @param sohm_hdr_size: Shared object header message header size + * @param sohm_msgs_info: Shared object header message index and heap size + */ public H5F_info2_t (int super_version, long super_size, long super_ext_size, int free_version, long free_meta_size, long free_tot_space, int sohm_version, long sohm_hdr_size, H5_ih_info_t sohm_msgs_info) diff --git a/java/src/hdf/hdf5lib/structs/H5G_info_t.java b/java/src/hdf/hdf5lib/structs/H5G_info_t.java index 6d4f405..e79f859 100644 --- a/java/src/hdf/hdf5lib/structs/H5G_info_t.java +++ b/java/src/hdf/hdf5lib/structs/H5G_info_t.java @@ -20,8 +20,12 @@ import java.io.Serializable; */ public class H5G_info_t implements Serializable{ private static final long serialVersionUID = -3746463015312132912L; - public int storage_type; // Type of storage for links in group - public long nlinks; // Number of links in group - public long max_corder; // Current max. creation order value for group - public boolean mounted; // Whether group has a file mounted on it + /** Type of storage for links in group */ + public int storage_type; + /** Number of links in group */ + public long nlinks; + /** Current max. creation order value for group */ + public long max_corder; + /** Whether group has a file mounted on it */ + public boolean mounted; } diff --git a/java/src/hdf/hdf5lib/structs/H5L_info_t.java b/java/src/hdf/hdf5lib/structs/H5L_info_t.java index eaf0da5..a3011c0 100644 --- a/java/src/hdf/hdf5lib/structs/H5L_info_t.java +++ b/java/src/hdf/hdf5lib/structs/H5L_info_t.java @@ -22,14 +22,20 @@ import hdf.hdf5lib.HDF5Constants; */ public class H5L_info_t implements Serializable { private static final long serialVersionUID = -4754320605310155033L; + /** Type of link */ public int type; + /** Indicate if creation order is valid */ public boolean corder_valid; + /** Creation order */ public long corder; + /** Character set of link name */ public int cset; + /** Character set of link name */ public H5O_token_t token; + /** Size of a soft link or user-defined link value */ public long val_size; - // Constructor for using object token portion of C union + /** Constructor for using object token portion of C union */ H5L_info_t (int type, boolean corder_valid, long corder, int cset, H5O_token_t token) { @@ -41,7 +47,7 @@ public class H5L_info_t implements Serializable { this.val_size = -1; } - // Constructor for using val_size portion of C union + /** Constructor for using val_size portion of C union */ H5L_info_t (int type, boolean corder_valid, long corder, int cset, long val_size) { diff --git a/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java b/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java index 9a1749d..2475dd9 100644 --- a/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java +++ b/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java @@ -20,16 +20,26 @@ import java.io.Serializable; */ public class H5O_hdr_info_t implements Serializable { private static final long serialVersionUID = 7883826382952577189L; - public int version; /* Version number of header format in file */ - public int nmesgs; /* Number of object header messages */ - public int nchunks; /* Number of object header chunks */ - public int flags; /* Object header status flags */ - public long space_total; /* Total space for storing object header in file */ - public long space_meta; /* Space within header for object header metadata information */ - public long space_mesg; /* Space within header for actual message information */ - public long space_free; /* Free space within object header */ - public long mesg_present; /* Flags to indicate presence of message type in header */ - public long mesg_shared; /* Flags to indicate message type is shared in header */ + /** Version number of header format in file */ + public int version; + /** Number of object header messages */ + public int nmesgs; + /** Number of object header chunks */ + public int nchunks; + /** Object header status flags */ + public int flags; + /** Total space for storing object header in file */ + public long space_total; + /** Space within header for object header metadata information */ + public long space_meta; + /** Space within header for actual message information */ + public long space_mesg; + /** Free space within object header */ + public long space_free; + /** Flags to indicate presence of message type in header */ + public long mesg_present; + /** Flags to indicate message type is shared in header */ + public long mesg_shared; H5O_hdr_info_t (int version, int nmesgs, int nchunks, int flags, long space_total, long space_meta, long space_mesg, long space_free, diff --git a/java/src/hdf/hdf5lib/structs/H5O_info_t.java b/java/src/hdf/hdf5lib/structs/H5O_info_t.java index cc94247..d2208d2 100644 --- a/java/src/hdf/hdf5lib/structs/H5O_info_t.java +++ b/java/src/hdf/hdf5lib/structs/H5O_info_t.java @@ -20,16 +20,37 @@ import java.io.Serializable; */ public class H5O_info_t implements Serializable { private static final long serialVersionUID = 4691681163544054518L; - public long fileno; /* File number that object is located in */ - public H5O_token_t token; /* Object token in file */ - public int type; /* Basic object type (group, dataset, etc.) */ - public int rc; /* Reference count of object */ - public long atime; /* Access time */ - public long mtime; /* Modification time */ - public long ctime; /* Change time */ - public long btime; /* Birth time */ - public long num_attrs; /* # of attributes attached to object */ + /** File number that object is located in */ + public long fileno; + /** Object token in file */ + public H5O_token_t token; + /** Basic object type (group, dataset, etc.) */ + public int type; + /** Reference count of object */ + public int rc; + /** Access time */ + public long atime; + /** Modification time */ + public long mtime; + /** Change time */ + public long ctime; + /** Birth time */ + public long btime; + /** Number of attributes attached to object */ + public long num_attrs; + /** Constructor for data model information struct for objects + * + * @param fileno: File number that object is located in + * @param token: Object token in file + * @param type: Basic object type + * @param rc: Reference count of object + * @param atime: Access time + * @param mtime: Modification time + * @param ctime: Change time + * @param btime: Birth time + * @param num_attrs: Number of attributes attached to object + */ public H5O_info_t (long fileno, H5O_token_t token, int type, int rc, long atime, long mtime, long ctime, long btime, long num_attrs) { diff --git a/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java b/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java index ff801e8..70e5231 100644 --- a/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java +++ b/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java @@ -20,12 +20,14 @@ import java.io.Serializable; */ public class H5O_native_info_t implements Serializable { private static final long serialVersionUID = 7883826382952577189L; - - public H5O_hdr_info_t hdr_info; /* Object header information */ + /** Object header information */ + public H5O_hdr_info_t hdr_info; /* Extra metadata storage for obj & attributes */ - public H5_ih_info_t obj_info; /* v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets */ - public H5_ih_info_t attr_info; /* v2 B-tree & heap for attributes */ + /** v1/v2 B-tree and local/fractal heap for groups, B-tree for chunked datasets */ + public H5_ih_info_t obj_info; + /** v2 B-tree and heap for attributes */ + public H5_ih_info_t attr_info; H5O_native_info_t (H5O_hdr_info_t oheader_info, H5_ih_info_t obj_info, H5_ih_info_t attr_info) { diff --git a/java/src/hdf/hdf5lib/structs/H5O_token_t.java b/java/src/hdf/hdf5lib/structs/H5O_token_t.java index c7ac437..f0bb978 100644 --- a/java/src/hdf/hdf5lib/structs/H5O_token_t.java +++ b/java/src/hdf/hdf5lib/structs/H5O_token_t.java @@ -23,12 +23,22 @@ import hdf.hdf5lib.HDF5Constants; */ public class H5O_token_t implements Serializable { private static final long serialVersionUID = -4754320605310155032L; + /** + * Tokens are unique and permanent identifiers that are + * used to reference HDF5 objects in a container. + * Use basic byte array to store the dat + */ public byte[] data; H5O_token_t (byte[] data) { this.data = data; } + /** + * Check if token data is undefined + * + * @return true if token data is undefined + */ public boolean isUndefined() { return this.equals(HDF5Constants.H5O_TOKEN_UNDEF); } -- cgit v0.12