summaryrefslogtreecommitdiffstats
path: root/java/src/hdf/hdf5lib/structs
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2022-04-13 21:17:29 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2022-04-13 21:17:29 (GMT)
commitcabc39c3e197e2591449d2604bfee26465fb60e1 (patch)
treed5f39f5f5965584bf9bf49646a2af617adfd3e4e /java/src/hdf/hdf5lib/structs
parent7355f4c505092a7a85474b47f18d5206028e2c95 (diff)
parentab69f5df770ee3cc6cd6c81d905a5317b894a002 (diff)
downloadhdf5-feature/coding_standards.zip
hdf5-feature/coding_standards.tar.gz
hdf5-feature/coding_standards.tar.bz2
Merge branch 'develop' into feature/coding_standardsfeature/coding_standards
Diffstat (limited to 'java/src/hdf/hdf5lib/structs')
-rw-r--r--java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java251
-rw-r--r--java/src/hdf/hdf5lib/structs/H5A_info_t.java20
-rw-r--r--java/src/hdf/hdf5lib/structs/H5E_error2_t.java30
-rw-r--r--java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java35
-rw-r--r--java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java22
-rw-r--r--java/src/hdf/hdf5lib/structs/H5F_info2_t.java47
-rw-r--r--java/src/hdf/hdf5lib/structs/H5G_info_t.java20
-rw-r--r--java/src/hdf/hdf5lib/structs/H5L_info_t.java47
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java74
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_info_t.java65
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_native_info_t.java56
-rw-r--r--java/src/hdf/hdf5lib/structs/H5O_token_t.java58
-rw-r--r--java/src/hdf/hdf5lib/structs/H5_ih_info_t.java30
-rw-r--r--java/src/hdf/hdf5lib/structs/package-info.java17
14 files changed, 652 insertions, 120 deletions
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 20863dc..cf84532 100644
--- a/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,44 +14,276 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for H5Pget_mdc_config/H5Pset_mdc_config
+/**
+ * Information struct for H5Pget_mdc_config/H5Pset_mdc_config
+ *
+ */
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/H5A_info_t.java b/java/src/hdf/hdf5lib/structs/H5A_info_t.java
index a46a495..f2c10f0 100644
--- a/java/src/hdf/hdf5lib/structs/H5A_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5A_info_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,13 +14,20 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for Attribute (For H5Aget_info/H5Aget_info_by_idx/H5Aget_info_by_name)
+/**
+ * Information struct for Attribute (For H5Aget_info/H5Aget_info_by_idx/H5Aget_info_by_name)
+ *
+ */
public class H5A_info_t implements Serializable{
private static final long serialVersionUID = 2791443594041667613L;
- public boolean corder_valid; // Indicate if creation order is valid
- public long corder; // Creation order of attribute
- public int cset; // Character set of attribute name
- public long data_size; // Size of raw data
+ /** Indicate if creation order is valid */
+ public boolean corder_valid;
+ /** Creation order of attribute */
+ public long corder;
+ /** Character set of attribute name */
+ public int cset;
+ /** Size of raw data */
+ public long data_size;
H5A_info_t(boolean corder_valid, long corder, int cset, long data_size) {
this.corder_valid = corder_valid;
diff --git a/java/src/hdf/hdf5lib/structs/H5E_error2_t.java b/java/src/hdf/hdf5lib/structs/H5E_error2_t.java
index 257ad05..5981fc7 100644
--- a/java/src/hdf/hdf5lib/structs/H5E_error2_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5E_error2_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,17 +14,26 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for Attribute (For H5Ewalk)
+/**
+ * Information struct for Attribute (For H5Ewalk)
+ *
+ */
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 9fcff2e..95a9254 100644
--- a/java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5FD_hdfs_fapl_t.java
@@ -1,22 +1,21 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only HDFS Virtual File Driver (VFD) *
- * Copyright (c) 2018, The HDF Group. *
+ * Copyright by The HDF Group. *
* *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
package hdf.hdf5lib.structs;
import java.io.Serializable;
-/*
+/**
* Java representation of the HDFS VFD file access property list (fapl)
* structure.
*
@@ -26,15 +25,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 a899e10..ad02979 100644
--- a/java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5FD_ros3_fapl_t.java
@@ -1,22 +1,21 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Read-Only S3 Virtual File Driver (VFD) *
- * Copyright (c) 2017-2018, The HDF Group. *
+ * Copyright by The HDF Group. *
* *
* All rights reserved. *
* *
- * NOTICE: *
- * All information contained herein is, and remains, the property of The HDF *
- * Group. The intellectual and technical concepts contained herein are *
- * proprietary to The HDF Group. Dissemination of this information or *
- * reproduction of this material is strictly forbidden unless prior written *
- * permission is obtained from The HDF Group. *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
package hdf.hdf5lib.structs;
import java.io.Serializable;
-/*
+/**
* Java representation of the ROS3 VFD file access property list (fapl)
* structure.
*
@@ -46,10 +45,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 4664b5b..78e6d6c 100644
--- a/java/src/hdf/hdf5lib/structs/H5F_info2_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5F_info2_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,19 +14,43 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for object (for H5Fget_info)
+/**
+ * Information struct for object (for H5Fget_info)
+ *
+ */
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 for 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 56c876e..e79f859 100644
--- a/java/src/hdf/hdf5lib/structs/H5G_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5G_info_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,11 +14,18 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for group (for H5Gget_info/H5Gget_info_by_name/H5Gget_info_by_idx)
+/**
+ * Information struct for group (for H5Gget_info/H5Gget_info_by_name/H5Gget_info_by_idx)
+ *
+ */
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 3bbb189..a3011c0 100644
--- a/java/src/hdf/hdf5lib/structs/H5L_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5L_info_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,22 +14,48 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for link (for H5Lget_info/H5Lget_info_by_idx)
-public class H5L_info_t implements Serializable{
+import hdf.hdf5lib.HDF5Constants;
+
+/**
+ * Information struct for link (for H5Lget_info/H5Lget_info_by_idx)
+ *
+ */
+public class H5L_info_t implements Serializable {
private static final long serialVersionUID = -4754320605310155033L;
- public int type;
- public boolean corder_valid;
- public long corder;
- public int cset;
- public long address_val_size;
+ /** 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 */
+ H5L_info_t (int type, boolean corder_valid, long corder,
+ int cset, H5O_token_t token)
+ {
+ this.type = type;
+ this.corder_valid = corder_valid;
+ this.corder = corder;
+ this.cset = cset;
+ this.token = token;
+ this.val_size = -1;
+ }
+ /** Constructor for using val_size portion of C union */
H5L_info_t (int type, boolean corder_valid, long corder,
- int cset, long address_val_size)
+ int cset, long val_size)
{
this.type = type;
this.corder_valid = corder_valid;
this.corder = corder;
this.cset = cset;
- this.address_val_size = address_val_size;
+ this.token = HDF5Constants.H5O_TOKEN_UNDEF;
+ this.val_size = 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 a39c1ed..2475dd9 100644
--- a/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,19 +14,32 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-// Information struct for object header metadata (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx)
-public class H5O_hdr_info_t implements Serializable{
+/**
+ * Information struct for object header metadata (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx)
+ *
+ */
+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,
@@ -44,4 +56,38 @@ public class H5O_hdr_info_t implements Serializable{
this.mesg_present = mesg_present;
this.mesg_shared = mesg_shared;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof H5O_hdr_info_t))
+ return false;
+
+ H5O_hdr_info_t info = (H5O_hdr_info_t) o;
+
+ if (this.version != info.version)
+ return false;
+ if (this.nmesgs != info.nmesgs)
+ return false;
+ if (this.nchunks != info.nchunks)
+ return false;
+ if (this.flags != info.flags)
+ return false;
+ if (this.space_total != info.space_total)
+ return false;
+ if (this.space_meta != info.space_meta)
+ return false;
+ if (this.space_mesg != info.space_mesg)
+ return false;
+ if (this.space_free != info.space_free)
+ return false;
+ if (this.mesg_present != info.mesg_present)
+ return false;
+ if (this.mesg_shared != info.mesg_shared)
+ return false;
+
+ return true;
+ }
}
diff --git a/java/src/hdf/hdf5lib/structs/H5O_info_t.java b/java/src/hdf/hdf5lib/structs/H5O_info_t.java
index ac32f6a..d2208d2 100644
--- a/java/src/hdf/hdf5lib/structs/H5O_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5O_info_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,38 +14,54 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for object (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx)
-public class H5O_info_t implements Serializable{
+/**
+ * Information struct for object (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx)
+ *
+ */
+public class H5O_info_t implements Serializable {
private static final long serialVersionUID = 4691681163544054518L;
- public long fileno; /* File number that object is located in */
- public long addr; /* Object address 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 */
- public H5O_hdr_info_t hdr; /* Object header information */
- /* Extra metadata storage for obj & attributes */
- public H5_ih_info_t meta_size_obj; /* v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets */
- public H5_ih_info_t meta_size_attr; /* v2 B-tree & heap for attributes */
+ /** 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;
- public H5O_info_t (long fileno, long addr, int type,
- int rc, long num_attrs, long atime, long mtime, long ctime, long btime,
- H5O_hdr_info_t hdr, H5_ih_info_t meta_size_obj, H5_ih_info_t meta_size_attr)
+ /** 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)
{
this.fileno = fileno;
- this.addr = addr;
+ this.token = token;
this.type = type;
this.rc = rc;
- this.num_attrs = num_attrs;
this.atime = atime;
this.mtime = mtime;
this.ctime = ctime;
this.btime = btime;
- this.hdr = hdr;
- this.meta_size_obj = meta_size_obj;
- this.meta_size_attr = meta_size_attr;
+ this.num_attrs = 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
new file mode 100644
index 0000000..70e5231
--- /dev/null
+++ b/java/src/hdf/hdf5lib/structs/H5O_native_info_t.java
@@ -0,0 +1,56 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+package hdf.hdf5lib.structs;
+
+import java.io.Serializable;
+
+/**
+ * Information struct for native HDF5 object info, such as object header metadata (for H5Oget_info/H5Oget_info_by_name/H5Oget_info_by_idx).
+ *
+ */
+public class H5O_native_info_t implements Serializable {
+ private static final long serialVersionUID = 7883826382952577189L;
+ /** Object header information */
+ public H5O_hdr_info_t hdr_info;
+
+ /* Extra metadata storage for obj & 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)
+ {
+ this.hdr_info = oheader_info;
+ this.obj_info = obj_info;
+ this.attr_info = attr_info;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof H5O_native_info_t))
+ return false;
+
+ H5O_native_info_t info = (H5O_native_info_t) o;
+
+ if (!this.hdr_info.equals(info.hdr_info)
+ || !this.obj_info.equals(info.obj_info)
+ || !this.attr_info.equals(info.attr_info))
+ return false;
+
+ return true;
+ }
+}
diff --git a/java/src/hdf/hdf5lib/structs/H5O_token_t.java b/java/src/hdf/hdf5lib/structs/H5O_token_t.java
new file mode 100644
index 0000000..f0bb978
--- /dev/null
+++ b/java/src/hdf/hdf5lib/structs/H5O_token_t.java
@@ -0,0 +1,58 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+package hdf.hdf5lib.structs;
+
+import java.io.Serializable;
+import java.util.Arrays;
+
+import hdf.hdf5lib.HDF5Constants;
+
+/**
+ * Object token, which is a unique and permanent identifier, for an HDF5 object within a container.
+ *
+ */
+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);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof H5O_token_t))
+ return false;
+
+ H5O_token_t token = (H5O_token_t) o;
+
+ return Arrays.equals(this.data, token.data);
+ }
+}
diff --git a/java/src/hdf/hdf5lib/structs/H5_ih_info_t.java b/java/src/hdf/hdf5lib/structs/H5_ih_info_t.java
index ea36d85..0c6111b 100644
--- a/java/src/hdf/hdf5lib/structs/H5_ih_info_t.java
+++ b/java/src/hdf/hdf5lib/structs/H5_ih_info_t.java
@@ -1,12 +1,11 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the COPYING file, which can be found at the root of the source code *
- * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
@@ -15,10 +14,15 @@ package hdf.hdf5lib.structs;
import java.io.Serializable;
-//Information struct for group (for H5Gget_info/H5Gget_info_by_name/H5Gget_info_by_idx)
+/**
+ * Information struct for group (for H5Gget_info/H5Gget_info_by_name/H5Gget_info_by_idx)
+ *
+ */
public class H5_ih_info_t implements Serializable {
private static final long serialVersionUID = -142238015615462707L;
- public long index_size; /* btree and/or list */
+ /** btree and/or list size of index */
+ public long index_size;
+ /** btree and/or list size of hp */
public long heap_size;
H5_ih_info_t (long index_size, long heap_size)
@@ -26,4 +30,22 @@ public class H5_ih_info_t implements Serializable {
this.index_size = index_size;
this.heap_size = heap_size;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o)
+ return true;
+
+ if (!(o instanceof H5_ih_info_t))
+ return false;
+
+ H5_ih_info_t info = (H5_ih_info_t) o;
+
+ if (this.index_size != info.index_size)
+ return false;
+ if (this.heap_size != info.heap_size)
+ return false;
+
+ return true;
+ }
}
diff --git a/java/src/hdf/hdf5lib/structs/package-info.java b/java/src/hdf/hdf5lib/structs/package-info.java
new file mode 100644
index 0000000..8a9d97d
--- /dev/null
+++ b/java/src/hdf/hdf5lib/structs/package-info.java
@@ -0,0 +1,17 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the COPYING file, which can be found at the root of the source code *
+ * distribution tree, or in https://www.hdfgroup.org/licenses. *
+ * If you do not have access to either file, you may request a copy from *
+ * help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/** All structure definitions define java equivalents of the C structures needed
+ * by the C API calls. See the C API for information about the structures.
+ */
+package hdf.hdf5lib.structs;